
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: uint do_finalize_local_symbols(Sized_relobj_file<64,_false> * this,
   uint index, off_t off, Symbol_table * symtab) */

uint __thiscall
gold::Sized_relobj_file<64,_false>::do_finalize_local_symbols
          (Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)

{
  bool bVar1;
  byte bVar2;
  uint uVar3;
  pointer pSVar4;
  _func_int_varargs *p_Var5;
  pointer ppOVar6;
  long lVar7;
  anon_union_8_2_6a937475_for_u_ aVar8;
  uint uVar9;
  bool bVar10;
  int iVar11;
  ulong uVar12;
  Relobj *object;
  char *format;
  uint64_t uVar13;
  Output_relaxed_input_section *pOVar14;
  anon_union_8_2_6a937475_for_u_ *paVar15;
  Output_section *this_00;
  undefined4 extraout_var_00;
  pointer pSVar16;
  uint uVar17;
  uint uVar18;
  long lVar19;
  Section_id SVar20;
  uint local_58;
  uint64_t start;
  undefined4 extraout_var;
  
  uVar12 = off + 7U & 0xfffffffffffffff8;
  if (uVar12 != off) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");
  }
  this->local_symbol_offset_ = uVar12;
  uVar3 = this->local_symbol_count_;
  if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  bVar1 = (parameters->options_->relocatable_).value;
  if (uVar3 < 2) {
    return index;
  }
  pSVar4 = (this->local_values_).
           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>.
           _M_impl._M_start;
  pSVar16 = pSVar4 + 1;
  if ((char)pSVar4[1].field_0xb < '\0') {
    uVar18 = 1;
    lVar19 = 0x30;
    local_58 = index;
    do {
      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;
      if ((pSVar16->field_0xb & 8) == 0) {
        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {
          format = (char *)gettext("unknown section index %u for local symbol %u");
          uVar9 = uVar18;
          goto LAB_001c9d61;
        }
LAB_001c9b6f:
        uVar17 = pSVar16->output_symtab_index_;
joined_r0x001c9b73:
        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {
          if (0xfffffffc < local_58 - 1) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");
          }
          pSVar16->output_symtab_index_ = local_58;
          local_58 = local_58 + 1;
        }
      }
      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {
        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_start[uVar17];
        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.
                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                 _M_start[uVar17];
        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);
        if (bVar10) {
          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");
          }
          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);
          uVar12 = SVar20._8_8_;
          object = SVar20.first;
          if (object == (Relobj *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");
          }
          p_Var5 = (object->super_Object)._vptr_Object[0x18];
          if (p_Var5 == Relobj::do_output_section) {
            ppOVar6 = (object->output_sections_).
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
            if ((ulong)((long)(object->output_sections_).
                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
            }
            this_00 = ppOVar6[uVar12 & 0xffffffff];
          }
          else {
            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);
            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);
          }
          if (this_00 == (Output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");
          }
          lVar7 = *(long *)&object[1].super_Object.shnum_;
          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");
          }
          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);
          if (uVar12 == 0xffffffffffffffff) {
            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);
            if (pOVar14 == (Output_relaxed_input_section *)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")
              ;
            }
            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.field_0x20 & 1) == 0) ||
               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;
            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.address_ - (this_00->super_Output_data).address_;
            goto LAB_001c9d89;
          }
LAB_001c9ca4:
          if (((pSVar16->field_0xb & 0x20) == 0) &&
             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {
            if (bVar1 == false) {
              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {
LAB_001c9fb7:
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/output.h",0xc5,"address");
              }
              uVar13 = (this_00->super_Output_data).address_;
            }
            else {
              uVar13 = 0;
            }
          }
          else {
            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];
            if (p_Var5 == Output_section::do_tls_offset) {
              uVar13 = this_00->tls_offset_;
            }
            else {
              iVar11 = (*p_Var5)(this_00);
              uVar13 = CONCAT44(extraout_var_00,iVar11);
            }
          }
          (pSVar16->u_).merged_symbol_value =
               (Merged_symbol_value<64> *)
               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);
          uVar17 = pSVar16->output_symtab_index_;
          goto joined_r0x001c9b73;
        }
        if (this_00 != (Output_section *)0x0) {
LAB_001c9d89:
          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;
          if (this_00->order_ != ORDER_EHFRAME) {
            if ((pSVar16->field_0xb & 0x10) == 0) {
              uVar13 = Output_section::output_address
                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);
              if (bVar1 != false) {
                bVar2 = (this_00->super_Output_data).field_0x20;
joined_r0x001c9fb1:
                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;
                uVar13 = uVar13 - (this_00->super_Output_data).address_;
              }
            }
            else {
              bVar10 = Output_section::find_starting_output_address
                                 (this_00,(Relobj *)this,uVar17,&start);
              if (bVar10) {
                uVar13 = start;
                if (bVar1 != false) {
                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;
                  uVar13 = start - (this_00->super_Output_data).address_;
                }
                aVar8 = pSVar16->u_;
                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);
                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;
                *paVar15 = aVar8;
                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);
                bVar2 = pSVar16->field_0xb;
                paVar15[1].value = uVar13;
                paVar15[8].value = 0;
                paVar15[3].value = 1;
                paVar15[4].value = 0;
                paVar15[5].value = 0;
                *(undefined4 *)(paVar15 + 6) = 0x3f800000;
                paVar15[7].value = 0;
                if ((bVar2 & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");
                }
                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;
                pSVar16->field_0xb = bVar2 & 0x7f;
                goto LAB_001c9b6f;
              }
              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);
              if (pOVar14 == (Output_relaxed_input_section *)0x0) {
                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;
                uVar13 = (this_00->super_Output_data).address_;
              }
              else {
                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;
                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.address_;
                if (bVar1 != false) {
                  bVar2 = (this_00->super_Output_data).field_0x20;
                  goto joined_r0x001c9fb1;
                }
              }
            }
            (pSVar16->u_).value = uVar13;
            goto LAB_001c9b6f;
          }
          if (this->has_eh_frame_ == false) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");
          }
        }
      }
      else {
        format = (char *)gettext("local symbol %u section index %u out of range");
        uVar9 = uVar17;
        uVar17 = uVar18;
LAB_001c9d61:
        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);
        (pSVar16->u_).value = 0;
      }
      if (uVar3 == uVar18 + 1) {
        return local_58;
      }
      uVar18 = uVar18 + 1;
      pSVar16 = (pointer)((long)&((this->local_values_).
                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>
                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);
      lVar19 = lVar19 + 0x18;
    } while ((char)pSVar16->field_0xb < '\0');
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/object.cc",0x96c,"compute_final_local_value_internal");
}



int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)

{
  char cVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  char cVar6;
  ulong uVar7;
  long *plVar8;
  undefined8 uVar9;
  long lVar10;
  undefined8 *puVar11;
  long *plVar12;
  long lVar13;
  int *piVar14;
  uint uVar15;
  uint uVar16;
  long lVar17;
  undefined1 auVar18 [16];
  int local_58;
  long local_40 [2];
  
  uVar7 = param_3 + 7 & 0xfffffffffffffff8;
  if (uVar7 != param_3) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");
  }
  *(ulong *)(param_1 + 0x150) = uVar7;
  uVar3 = *(uint *)(param_1 + 0x120);
  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/parameters.h",0x5c,"options");
  }
  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);
  if (uVar3 < 2) {
    return param_2;
  }
  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);
  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {
    uVar16 = 1;
    lVar17 = 0x30;
    local_58 = param_2;
    do {
      uVar15 = piVar14[2] & 0x7ffffff;
      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {
        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {
          uVar9 = gettext("unknown section index %u for local symbol %u");
          uVar5 = uVar16;
          goto LAB_001c9d61;
        }
LAB_001c9b6f:
        iVar4 = *piVar14;
joined_r0x001c9b73:
        if ((iVar4 == 0) || (iVar4 == -2)) {
          if (0xfffffffc < local_58 - 1U) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");
          }
          *piVar14 = local_58;
          local_58 = local_58 + 1;
        }
      }
      else if (uVar15 < *(uint *)(param_1 + 0x38)) {
        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);
        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);
        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);
        if (cVar6 != '\0') {
          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");
          }
          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);
          uVar7 = auVar18._8_8_;
          plVar8 = auVar18._0_8_;
          if (plVar8 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");
          }
          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {
            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");
            }
            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);
          }
          else {
            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);
          }
          if (plVar12 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");
          }
          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");
          }
          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);
          if (lVar10 == -1) {
            lVar10 = FUN_001f4890(plVar12,plVar8);
            if (lVar10 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");
            }
            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))
            goto LAB_001c9fb7;
            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];
            goto LAB_001c9d89;
          }
LAB_001c9ca4:
          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&
             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||
              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {
            if (cVar1 == '\0') {
              if ((*(byte *)(plVar12 + 4) & 1) == 0) {
LAB_001c9fb7:
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/output.h",0xc5,"address");
              }
              lVar13 = plVar12[1];
            }
            else {
              lVar13 = 0;
            }
          }
          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {
            lVar13 = plVar12[0x1a];
          }
          else {
            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);
          }
          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;
          iVar4 = *piVar14;
          goto joined_r0x001c9b73;
        }
        if (plVar12 != (long *)0x0) {
LAB_001c9d89:
          if (lVar10 != -1) goto LAB_001c9ca4;
          if ((int)plVar12[0xf] != 0xf) {
            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {
              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));
              if (cVar1 != '\0') {
                bVar2 = *(byte *)(plVar12 + 4);
joined_r0x001c9fb1:
                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;
                lVar10 = lVar10 - plVar12[1];
              }
            }
            else {
              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);
              if (cVar6 != '\0') {
                lVar10 = local_40[0];
                if (cVar1 != '\0') {
                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;
                  lVar10 = local_40[0] - plVar12[1];
                }
                uVar9 = *(undefined8 *)(piVar14 + 4);
                puVar11 = (undefined8 *)FUN_002a11b0(0x48);
                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;
                *puVar11 = uVar9;
                puVar11[2] = puVar11 + 8;
                bVar2 = *(byte *)((long)piVar14 + 0xb);
                puVar11[1] = lVar10;
                puVar11[8] = 0;
                puVar11[3] = 1;
                puVar11[4] = 0;
                puVar11[5] = 0;
                *(undefined4 *)(puVar11 + 6) = 0x3f800000;
                puVar11[7] = 0;
                if ((bVar2 & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");
                }
                *(undefined8 **)(piVar14 + 4) = puVar11;
                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;
                goto LAB_001c9b6f;
              }
              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);
              if (lVar10 == 0) {
                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;
                lVar10 = plVar12[1];
              }
              else {
                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;
                lVar10 = *(long *)(lVar10 + 8);
                if (cVar1 != '\0') {
                  bVar2 = *(byte *)(plVar12 + 4);
                  goto joined_r0x001c9fb1;
                }
              }
            }
            *(long *)(piVar14 + 4) = lVar10;
            goto LAB_001c9b6f;
          }
          if (*(char *)(param_1 + 0x1e0) == '\0') {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");
          }
        }
      }
      else {
        uVar9 = gettext("local symbol %u section index %u out of range");
        uVar5 = uVar15;
        uVar15 = uVar16;
LAB_001c9d61:
        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);
        piVar14[4] = 0;
        piVar14[5] = 0;
      }
      if (uVar3 == uVar16 + 1) {
        return local_58;
      }
      uVar16 = uVar16 + 1;
      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);
      lVar17 = lVar17 + 0x18;
    } while (*(char *)((long)piVar14 + 0xb) < '\0');
  }
                    /* WARNING: Subroutine does not return */
  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");
}


PUSH R15
LEA RAX,[RDX + 0x7]
PUSH R14
AND RAX,-0x8
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x48
MOV dword ptr [RSP + 0x20],ESI
MOV qword ptr [RSP + 0x18],RCX
CMP RAX,RDX
JNZ 0x001ca088
MOV qword ptr [RDI + 0x150],RAX
MOV RAX,qword ptr [0x003f85c0]
MOV R13D,dword ptr [RDI + 0x120]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001ca070
MOVZX EAX,byte ptr [RAX + 0x5051]
MOV byte ptr [RSP + 0x27],AL
CMP R13D,0x1
JBE 0x001c9d1a
MOV RAX,qword ptr [RDI + 0x160]
CMP byte ptr [RAX + 0x23],0x0
LEA RBX,[RAX + 0x18]
JNS 0x001c9fe0
MOV R15D,0x30
LEA RAX,[RSP + 0x38]
MOV R12D,0x1
MOV R14,R15
MOV qword ptr [RSP + 0x28],RAX
MOV R15,RDI
JMP 0x001c9ba7
CMP EBP,0xfff1
JZ 0x001c9b6f
MOV EDI,EBP
CALL 0x0024aae0
TEST AL,AL
JZ 0x001c9de0
MOV EAX,dword ptr [RBX]
TEST EAX,EAX
JZ 0x001c9cf0
CMP EAX,-0x2
JZ 0x001c9cf0
ADD R12D,0x1
CMP R13D,R12D
JZ 0x001c9d1a
MOV RBX,qword ptr [R15 + 0x160]
ADD RBX,R14
ADD R14,0x18
CMP byte ptr [RBX + 0xb],0x0
JNS 0x001c9fe0
MOV EBP,dword ptr [RBX + 0x8]
AND EBP,0x7ffffff
TEST byte ptr [RBX + 0xb],0x8
JZ 0x001c9b58
CMP EBP,dword ptr [R15 + 0x38]
JNC 0x001c9d50
MOV RDX,qword ptr [R15 + 0x50]
MOV EAX,EBP
MOV RDI,qword ptr [RSP + 0x18]
MOV RSI,R15
MOV R10,qword ptr [RDX + RAX*0x8]
MOV RDX,qword ptr [R15 + 0xe0]
MOV RCX,qword ptr [RDX + RAX*0x8]
MOV EDX,EBP
MOV qword ptr [RSP + 0x10],R10
MOV qword ptr [RSP + 0x8],RCX
CALL 0x0024ae80
MOV RCX,qword ptr [RSP + 0x8]
MOV R10,qword ptr [RSP + 0x10]
TEST AL,AL
JZ 0x001c9d80
TEST R10,R10
JNZ 0x001ca040
CMP RCX,-0x1
JNZ 0x001ca040
MOV RAX,qword ptr [RSP + 0x18]
MOV EDX,EBP
MOV RSI,R15
MOV RDI,qword ptr [RAX + 0x298]
CALL 0x0019c910
MOV R11,RAX
TEST RAX,RAX
JZ 0x001ca058
MOV RAX,qword ptr [RAX]
LEA RDI,[0x168b20]
MOV RAX,qword ptr [RAX + 0xc0]
CMP RAX,RDI
JNZ 0x001c9f40
MOV RCX,qword ptr [R11 + 0x50]
MOV RAX,qword ptr [R11 + 0x58]
MOV ESI,EDX
SUB RAX,RCX
SAR RAX,0x3
CMP RSI,RAX
JNC 0x001ca0d0
MOV R10,qword ptr [RCX + RSI*0x8]
TEST R10,R10
JZ 0x001ca028
MOV RCX,qword ptr [R11 + 0xe0]
MOV RAX,qword ptr [R11 + 0xe8]
MOV ESI,EDX
SUB RAX,RCX
SAR RAX,0x3
CMP RSI,RAX
JNC 0x001ca010
MOV RCX,qword ptr [RCX + RSI*0x8]
CMP RCX,-0x1
JZ 0x001c9e40
MOVZX EAX,byte ptr [RBX + 0xb]
TEST AL,0x20
JNZ 0x001c9cbb
TEST AL,0x10
JZ 0x001c9d30
TEST byte ptr [R10 + 0x71],0x4
JZ 0x001c9d30
MOV RAX,qword ptr [R10]
LEA RSI,[0x1c8ec0]
MOV RAX,qword ptr [RAX + 0x90]
CMP RAX,RSI
JNZ 0x001c9f68
MOV RAX,qword ptr [R10 + 0xd0]
ADD RAX,RCX
ADD qword ptr [RBX + 0x10],RAX
MOV EAX,dword ptr [RBX]
TEST EAX,EAX
JNZ 0x001c9b79
NOP dword ptr [RAX]
MOV EAX,dword ptr [RSP + 0x20]
SUB EAX,0x1
CMP EAX,-0x4
JA 0x001c9ff8
MOV EAX,dword ptr [RSP + 0x20]
ADD R12D,0x1
MOV dword ptr [RBX],EAX
ADD EAX,0x1
MOV dword ptr [RSP + 0x20],EAX
CMP R13D,R12D
JNZ 0x001c9b8f
MOV EAX,dword ptr [RSP + 0x20]
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CMP byte ptr [RSP + 0x27],0x0
JNZ 0x001c9e00
TEST byte ptr [R10 + 0x20],0x1
JZ 0x001c9fb7
MOV RAX,qword ptr [R10 + 0x8]
JMP 0x001c9cdc
LEA RDI,[0x344380]
CALL 0x00144320
MOV ECX,EBP
MOV EDX,R12D
MOV RSI,RAX
MOV RDI,R15
XOR EAX,EAX
CALL 0x001c7b60
MOV qword ptr [RBX + 0x10],0x0
JMP 0x001c9b82
TEST R10,R10
JZ 0x001c9b82
CMP RCX,-0x1
JNZ 0x001c9ca4
CMP dword ptr [R10 + 0x78],0xf
JZ 0x001c9e10
TEST byte ptr [RBX + 0xb],0x10
JNZ 0x001c9e80
MOV RCX,qword ptr [RBX + 0x10]
MOV EDX,EBP
MOV RSI,R15
MOV RDI,R10
MOV qword ptr [RSP + 0x8],R10
CALL 0x001f4b80
CMP byte ptr [RSP + 0x27],0x0
JZ 0x001c9dd5
MOV R10,qword ptr [RSP + 0x8]
TEST byte ptr [R10 + 0x20],0x1
JZ 0x001c9fb7
SUB RAX,qword ptr [R10 + 0x8]
MOV qword ptr [RBX + 0x10],RAX
JMP 0x001c9b6f
LEA RDI,[0x344350]
CALL 0x00144320
MOV ECX,R12D
MOV EDX,EBP
JMP 0x001c9d61
XOR EAX,EAX
JMP 0x001c9cdc
CMP byte ptr [R15 + 0x1e0],0x0
JNZ 0x001c9b82
LEA RDX,[0x344920]
MOV ESI,0x9b5
LEA RDI,[0x344158]
CALL 0x00199900
MOV RDI,R10
MOV RSI,R11
MOV qword ptr [RSP + 0x8],R10
CALL 0x001f4890
MOV R10,qword ptr [RSP + 0x8]
TEST RAX,RAX
JZ 0x001ca0a0
TEST byte ptr [RAX + 0x20],0x1
JZ 0x001c9fb7
MOV RCX,qword ptr [RAX + 0x8]
TEST byte ptr [R10 + 0x20],0x1
JZ 0x001c9fb7
SUB RCX,qword ptr [R10 + 0x8]
JMP 0x001c9d89
MOV RCX,qword ptr [RSP + 0x28]
MOV RDI,R10
MOV EDX,EBP
MOV RSI,R15
MOV qword ptr [RSP + 0x8],R10
CALL 0x001eec30
MOV R10,qword ptr [RSP + 0x8]
TEST AL,AL
JZ 0x001c9f80
CMP byte ptr [RSP + 0x27],0x0
MOV RBP,qword ptr [RSP + 0x38]
JZ 0x001c9ebf
TEST byte ptr [R10 + 0x20],0x1
JZ 0x001c9fb7
SUB RBP,qword ptr [R10 + 0x8]
MOV RDX,qword ptr [RBX + 0x10]
MOV EDI,0x48
MOV qword ptr [RSP + 0x8],RDX
CALL 0x002a11b0
MOV RDX,qword ptr [RSP + 0x8]
PXOR XMM0,XMM0
MOVUPS xmmword ptr [RAX + 0x30],XMM0
MOV qword ptr [RAX],RDX
LEA RDX,[RAX + 0x40]
MOV qword ptr [RAX + 0x10],RDX
MOVZX EDX,byte ptr [RBX + 0xb]
MOV qword ptr [RAX + 0x8],RBP
MOV qword ptr [RAX + 0x40],0x0
MOV qword ptr [RAX + 0x18],0x1
MOV qword ptr [RAX + 0x20],0x0
MOV qword ptr [RAX + 0x28],0x0
MOV dword ptr [RAX + 0x30],0x3f800000
MOV qword ptr [RAX + 0x38],0x0
TEST DL,0x10
JZ 0x001ca0b8
AND EDX,0x7f
MOV qword ptr [RBX + 0x10],RAX
MOV byte ptr [RBX + 0xb],DL
JMP 0x001c9b6f
MOV ESI,EDX
MOV qword ptr [RSP + 0x10],RDX
MOV RDI,R11
MOV qword ptr [RSP + 0x8],R11
CALL RAX
MOV RDX,qword ptr [RSP + 0x10]
MOV R11,qword ptr [RSP + 0x8]
MOV R10,RAX
JMP 0x001c9c6d
MOV qword ptr [RSP + 0x8],RCX
MOV RDI,R10
CALL RAX
MOV RCX,qword ptr [RSP + 0x8]
JMP 0x001c9cdc
MOV RDI,R10
MOV EDX,EBP
MOV RSI,R15
CALL 0x001f4890
MOV R10,qword ptr [RSP + 0x8]
TEST RAX,RAX
JZ 0x001c9fd0
TEST byte ptr [RAX + 0x20],0x1
JZ 0x001c9fb7
CMP byte ptr [RSP + 0x27],0x0
MOV RAX,qword ptr [RAX + 0x8]
JZ 0x001c9dd5
TEST byte ptr [R10 + 0x20],0x1
JNZ 0x001c9dd1
LEA RDX,[0x345338]
MOV ESI,0xc5
LEA RDI,[0x338384]
CALL 0x00199900
TEST byte ptr [R10 + 0x20],0x1
JZ 0x001c9fb7
MOV RAX,qword ptr [R10 + 0x8]
JMP 0x001c9dd5
LEA RDX,[0x344920]
MOV ESI,0x96c
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x344a50]
MOV ESI,0x70d
LEA RDI,[0x3383ac]
CALL 0x00199900
LEA RDX,[0x344db0]
MOV ESI,0x7f7
LEA RDI,[0x3383ac]
CALL 0x00199900
LEA RDX,[0x344920]
MOV ESI,0x995
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x344920]
MOV ESI,0x98d
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x344920]
MOV ESI,0x991
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x3454b0]
MOV ESI,0x5c
LEA RDI,[0x333279]
CALL 0x00199900
LEA RDX,[0x344a70]
MOV ESI,0xa1a
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x344920]
MOV ESI,0x99d
LEA RDI,[0x344158]
CALL 0x00199900
LEA RDX,[0x344900]
MOV ESI,0x6bb
LEA RDI,[0x3383ac]
CALL 0x00199900
LEA RDX,[0x3453f0]
MOV ESI,0x5c8
LEA RDI,[0x3383ac]
CALL 0x00199900
(translation_unit "int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}\n\n" (function_definition "int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" primitive_type (function_declarator "FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)" identifier (parameter_list "(long param_1,int param_2,ulong param_3,long param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "ulong param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "long *plVar12;" (sized_type_specifier "long" long) (pointer_declarator "*plVar12" * identifier) ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "long local_40 [2];" (sized_type_specifier "long" long) (array_declarator "local_40 [2]" identifier [ number_literal ]) ;) (expression_statement "uVar7 = param_3 + 7 & 0xfffffffffffffff8;" (assignment_expression "uVar7 = param_3 + 7 & 0xfffffffffffffff8" identifier = (binary_expression "param_3 + 7 & 0xfffffffffffffff8" (binary_expression "param_3 + 7" identifier + number_literal) & number_literal)) ;) (if_statement "if (uVar7 != param_3) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" if (parenthesized_expression "(uVar7 != param_3)" ( (binary_expression "uVar7 != param_3" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");" (call_expression "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" identifier (argument_list "("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_finalize_local_symbols"" " string_content ") ))) ;) })) (expression_statement "*(ulong *)(param_1 + 0x150) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 0x150) = uVar7" (pointer_expression "*(ulong *)(param_1 + 0x150)" * (cast_expression "(ulong *)(param_1 + 0x150)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(uint *)(param_1 + 0x120);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x120)" identifier = (pointer_expression "*(uint *)(param_1 + 0x120)" * (cast_expression "(uint *)(param_1 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" { comment (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../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 ") ))) ;) })) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar3 < 2) {\n    return param_2;\n  }" if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n    return param_2;\n  }" { (return_statement "return param_2;" return identifier ;) })) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18)" identifier = (cast_expression "(int *)(*(long *)(param_1 + 0x160) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x160) + 0x18" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" if (parenthesized_expression "(*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0')" ( (binary_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0'" (pointer_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23)" * (cast_expression "(char *)(*(long *)(param_1 + 0x160) + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x23)" ( (binary_expression "*(long *)(param_1 + 0x160) + 0x23" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" { (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (expression_statement "lVar17 = 0x30;" (assignment_expression "lVar17 = 0x30" identifier = number_literal) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (do_statement "do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');" do (compound_statement "{\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    }" { (expression_statement "uVar15 = piVar14[2] & 0x7ffffff;" (assignment_expression "uVar15 = piVar14[2] & 0x7ffffff" identifier = (binary_expression "piVar14[2] & 0x7ffffff" (subscript_expression "piVar14[2]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" if (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 8)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 8" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }" { (if_statement "if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" if (parenthesized_expression "((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'))" ( (binary_expression "(uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" (parenthesized_expression "(uVar15 != 0xfff1)" ( (binary_expression "uVar15 != 0xfff1" identifier != number_literal) )) && (parenthesized_expression "(cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" ( (comma_expression "cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'" (assignment_expression "cVar6 = FUN_0024aae0(uVar15)" identifier = (call_expression "FUN_0024aae0(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" { (expression_statement "uVar9 = gettext("unknown section index %u for local symbol %u");" (assignment_expression "uVar9 = gettext("unknown section index %u for local symbol %u")" identifier = (call_expression "gettext("unknown section index %u for local symbol %u")" identifier (argument_list "("unknown section index %u for local symbol %u")" ( (string_literal ""unknown section index %u for local symbol %u"" " string_content ") )))) ;) (expression_statement "uVar5 = uVar16;" (assignment_expression "uVar5 = uVar16" identifier = identifier) ;) (goto_statement "goto LAB_001c9d61;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9b6f:\n        iVar4 = *piVar14;" statement_identifier : (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;)) (labeled_statement "joined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" statement_identifier : (if_statement "if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" if (parenthesized_expression "((iVar4 == 0) || (iVar4 == -2))" ( (binary_expression "(iVar4 == 0) || (iVar4 == -2)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 == -2)" ( (binary_expression "iVar4 == -2" identifier == number_literal) ))) )) (compound_statement "{\n          if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" { (if_statement "if (0xfffffffc < local_58 - 1U) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" if (parenthesized_expression "(0xfffffffc < local_58 - 1U)" ( (binary_expression "0xfffffffc < local_58 - 1U" number_literal < (binary_expression "local_58 - 1U" identifier - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) })) (expression_statement "*piVar14 = local_58;" (assignment_expression "*piVar14 = local_58" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "local_58 = local_58 + 1;" (assignment_expression "local_58 = local_58 + 1" identifier = (binary_expression "local_58 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" else (if_statement "if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 0x38))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 0x38)" identifier < (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }" { (expression_statement "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);" (assignment_expression "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" identifier = (pointer_expression "*(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" * (cast_expression "(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);" (assignment_expression "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" ( (binary_expression "*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "cVar6 = FUN_0024ae80(param_4,param_1,uVar15);" (assignment_expression "cVar6 = FUN_0024ae80(param_4,param_1,uVar15)" identifier = (call_expression "FUN_0024ae80(param_4,param_1,uVar15)" identifier (argument_list "(param_4,param_1,uVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" { (if_statement "if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "((plVar12 != (long *)0x0) || (lVar10 != -1))" ( (binary_expression "(plVar12 != (long *)0x0) || (lVar10 != -1)" (parenthesized_expression "(plVar12 != (long *)0x0)" ( (binary_expression "plVar12 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(lVar10 != -1)" ( (binary_expression "lVar10 != -1" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (expression_statement "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);" (assignment_expression "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" identifier = (call_expression "FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" identifier (argument_list "(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" ( (pointer_expression "*(undefined8 *)(param_4 + 0x298)" * (cast_expression "(undefined8 *)(param_4 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x298)" ( (binary_expression "param_4 + 0x298" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar7 = auVar18._8_8_;" (assignment_expression "uVar7 = auVar18._8_8_" identifier = (field_expression "auVar18._8_8_" identifier . field_identifier)) ;) (expression_statement "plVar8 = auVar18._0_8_;" (assignment_expression "plVar8 = auVar18._0_8_" identifier = (field_expression "auVar18._0_8_" identifier . field_identifier)) ;) (if_statement "if (plVar8 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(plVar8 == (long *)0x0)" ( (binary_expression "plVar8 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x991,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" if (parenthesized_expression "(*(code **)(*plVar8 + 0xc0) == FUN_00168b20)" ( (binary_expression "*(code **)(*plVar8 + 0xc0) == FUN_00168b20" (pointer_expression "*(code **)(*plVar8 + 0xc0)" * (cast_expression "(code **)(*plVar8 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0xc0)" ( (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }" { (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff))" ( (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" ( (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar8[10]" identifier [ number_literal ])) >> number_literal) ))) <= (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" { comment (expression_statement "FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00199900("../../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 "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" identifier = (pointer_expression "*(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" * (cast_expression "(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar8[10] + (uVar7 & 0xffffffff) * 8)" ( (binary_expression "plVar8[10] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[10]" identifier [ number_literal ]) + (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) )) * number_literal)) ))))) ;) }) (else_clause "else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" else (compound_statement "{\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" { (expression_statement "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);" (assignment_expression "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar8 + 0xc0))" ( (pointer_expression "**(code **)(*plVar8 + 0xc0)" * (pointer_expression "*(code **)(*plVar8 + 0xc0)" * (cast_expression "(code **)(*plVar8 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0xc0)" ( (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar7 & 0xffffffff)" ( identifier , (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))))) ;) }))) (if_statement "if (plVar12 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(plVar12 == (long *)0x0)" ( (binary_expression "plVar12 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x995,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" if (parenthesized_expression "((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff))" ( (binary_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0x1d] - plVar8[0x1c] >> 3)" ( (binary_expression "plVar8[0x1d] - plVar8[0x1c] >> 3" (binary_expression "plVar8[0x1d] - plVar8[0x1c]" (subscript_expression "plVar8[0x1d]" identifier [ number_literal ]) - (subscript_expression "plVar8[0x1c]" identifier [ number_literal ])) >> number_literal) ))) <= (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset")" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") ))) ;) })) (expression_statement "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" identifier = (pointer_expression "*(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" * (cast_expression "(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" ( (binary_expression "plVar8[0x1c] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[0x1c]" identifier [ number_literal ]) + (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" if (parenthesized_expression "(lVar10 == -1)" ( (binary_expression "lVar10 == -1" identifier == number_literal) )) (compound_statement "{\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" { (expression_statement "lVar10 = FUN_001f4890(plVar12,plVar8);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,plVar8)" identifier = (call_expression "FUN_001f4890(plVar12,plVar8)" identifier (argument_list "(plVar12,plVar8)" ( identifier , identifier )))) ;) (if_statement "if (lVar10 == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;" if (parenthesized_expression "(((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))" ( (binary_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" * (cast_expression "(byte *)(lVar10 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 0x20)" ( (binary_expression "lVar10 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = *(long *)(lVar10 + 8) - plVar12[1];" (assignment_expression "lVar10 = *(long *)(lVar10 + 8) - plVar12[1]" identifier = (binary_expression "*(long *)(lVar10 + 8) - plVar12[1]" (pointer_expression "*(long *)(lVar10 + 8)" * (cast_expression "(long *)(lVar10 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 8)" ( (binary_expression "lVar10 + 8" identifier + number_literal) )))) - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_001c9d89;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" statement_identifier : (if_statement "if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" if (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))))" ( (binary_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x20" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" ( (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" ( (binary_expression "(*(byte *)((long)plVar12 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)((long)plVar12 + 0x71) & 4)" ( (binary_expression "*(byte *)((long)plVar12 + 0x71) & 4" (pointer_expression "*(byte *)((long)plVar12 + 0x71)" * (cast_expression "(byte *)((long)plVar12 + 0x71)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar12 + 0x71)" ( (binary_expression "(long)plVar12 + 0x71" (cast_expression "(long)plVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }" { (if_statement "if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" { (labeled_statement "LAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                FUN_00199900("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "FUN_00199900("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00199900("../../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 "lVar13 = plVar12[1];" (assignment_expression "lVar13 = plVar12[1]" identifier = (subscript_expression "plVar12[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n              lVar13 = 0;\n            }" else (compound_statement "{\n              lVar13 = 0;\n            }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }))) }) (else_clause "else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" else (if_statement "if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" if (parenthesized_expression "(*(code **)(*plVar12 + 0x90) == FUN_001c8ec0)" ( (binary_expression "*(code **)(*plVar12 + 0x90) == FUN_001c8ec0" (pointer_expression "*(code **)(*plVar12 + 0x90)" * (cast_expression "(code **)(*plVar12 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x90)" ( (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar13 = plVar12[0x1a];\n          }" { (expression_statement "lVar13 = plVar12[0x1a];" (assignment_expression "lVar13 = plVar12[0x1a]" identifier = (subscript_expression "plVar12[0x1a]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" else (compound_statement "{\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" { (expression_statement "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);" (assignment_expression "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12)" identifier = (call_expression "(**(code **)(*plVar12 + 0x90))(plVar12)" (parenthesized_expression "(**(code **)(*plVar12 + 0x90))" ( (pointer_expression "**(code **)(*plVar12 + 0x90)" * (pointer_expression "*(code **)(*plVar12 + 0x90)" * (cast_expression "(code **)(*plVar12 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x90)" ( (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12)" ( identifier )))) ;) })))))) (expression_statement "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = (binary_expression "*(long *)(piVar14 + 4) + lVar13 + lVar10" (binary_expression "*(long *)(piVar14 + 4) + lVar13" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) + identifier) + identifier)) ;) (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (goto_statement "goto joined_r0x001c9b73;" goto statement_identifier ;) })) (if_statement "if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" if (parenthesized_expression "(plVar12 != (long *)0x0)" ( (binary_expression "plVar12 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" { (labeled_statement "LAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;" statement_identifier : (if_statement "if (lVar10 != -1) goto LAB_001c9ca4;" if (parenthesized_expression "(lVar10 != -1)" ( (binary_expression "lVar10 != -1" identifier != number_literal) )) (goto_statement "goto LAB_001c9ca4;" goto statement_identifier ;))) (if_statement "if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" if (parenthesized_expression "((int)plVar12[0xf] != 0xf)" ( (binary_expression "(int)plVar12[0xf] != 0xf" (cast_expression "(int)plVar12[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar12[0xf]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" { (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" if (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }" { (expression_statement "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));" (assignment_expression "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" identifier = (call_expression "FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" identifier (argument_list "(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined8 *)(piVar14 + 4)" * (cast_expression "(undefined8 *)(piVar14 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" { (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" identifier = (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" statement_identifier : (if_statement "if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((bVar2 & 1) == 0)" ( (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;))) (expression_statement "lVar10 = lVar10 - plVar12[1];" (assignment_expression "lVar10 = lVar10 - plVar12[1]" identifier = (binary_expression "lVar10 - plVar12[1]" identifier - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) })) }) (else_clause "else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" else (compound_statement "{\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" { (expression_statement "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);" (assignment_expression "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40)" identifier = (call_expression "FUN_001eec30(plVar12,param_1,uVar15,local_40)" identifier (argument_list "(plVar12,param_1,uVar15,local_40)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" { (expression_statement "lVar10 = local_40[0];" (assignment_expression "lVar10 = local_40[0]" identifier = (subscript_expression "local_40[0]" identifier [ number_literal ])) ;) (if_statement "if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = local_40[0] - plVar12[1];" (assignment_expression "lVar10 = local_40[0] - plVar12[1]" identifier = (binary_expression "local_40[0] - plVar12[1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) })) (expression_statement "uVar9 = *(undefined8 *)(piVar14 + 4);" (assignment_expression "uVar9 = *(undefined8 *)(piVar14 + 4)" identifier = (pointer_expression "*(undefined8 *)(piVar14 + 4)" * (cast_expression "(undefined8 *)(piVar14 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = (undefined8 *)FUN_002a11b0(0x48);" (assignment_expression "puVar11 = (undefined8 *)FUN_002a11b0(0x48)" identifier = (cast_expression "(undefined8 *)FUN_002a11b0(0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002a11b0(0x48)" identifier (argument_list "(0x48)" ( number_literal ))))) ;) (expression_statement "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(puVar11 + 6)" * (cast_expression "(undefined1 (*) [16])(puVar11 + 6)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*puVar11 = uVar9;" (assignment_expression "*puVar11 = uVar9" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar11[2] = puVar11 + 8;" (assignment_expression "puVar11[2] = puVar11 + 8" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "puVar11 + 8" identifier + number_literal)) ;) (expression_statement "bVar2 = *(byte *)((long)piVar14 + 0xb);" (assignment_expression "bVar2 = *(byte *)((long)piVar14 + 0xb)" identifier = (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar11[1] = lVar10;" (assignment_expression "puVar11[1] = lVar10" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[3] = 1;" (assignment_expression "puVar11[3] = 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[4] = 0;" (assignment_expression "puVar11[4] = 0" (subscript_expression "puVar11[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[5] = 0;" (assignment_expression "puVar11[5] = 0" (subscript_expression "puVar11[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar11 + 6) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar11 + 6) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar11 + 6)" * (cast_expression "(undefined4 *)(puVar11 + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[7] = 0;" (assignment_expression "puVar11[7] = 0" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" { comment (expression_statement "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");" (call_expression "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value")" identifier (argument_list "("../../gold/object.h",0x6bb,"set_merged_symbol_value")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_merged_symbol_value"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(piVar14 + 4) = puVar11;" (assignment_expression "*(undefined8 **)(piVar14 + 4) = puVar11" (pointer_expression "*(undefined8 **)(piVar14 + 4)" * (cast_expression "(undefined8 **)(piVar14 + 4)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;" (assignment_expression "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar2 & 0x7f" identifier & number_literal)) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (expression_statement "lVar10 = FUN_001f4890(plVar12,param_1,uVar15);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,param_1,uVar15)" identifier = (call_expression "FUN_001f4890(plVar12,param_1,uVar15)" identifier (argument_list "(plVar12,param_1,uVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = plVar12[1];" (assignment_expression "lVar10 = plVar12[1]" identifier = (subscript_expression "plVar12[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" else (compound_statement "{\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" { (if_statement "if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" * (cast_expression "(byte *)(lVar10 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 0x20)" ( (binary_expression "lVar10 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = *(long *)(lVar10 + 8);" (assignment_expression "lVar10 = *(long *)(lVar10 + 8)" identifier = (pointer_expression "*(long *)(lVar10 + 8)" * (cast_expression "(long *)(lVar10 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 8)" ( (binary_expression "lVar10 + 8" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" { (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" identifier = (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x001c9fb1;" goto statement_identifier ;) })) }))) }))) (expression_statement "*(long *)(piVar14 + 4) = lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = lVar10" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(*(char *)(param_1 + 0x1e0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1e0)" * (cast_expression "(char *)(param_1 + 0x1e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" { comment (expression_statement "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) })) }) (else_clause "else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" else (compound_statement "{\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" { (expression_statement "uVar9 = gettext("local symbol %u section index %u out of range");" (assignment_expression "uVar9 = gettext("local symbol %u section index %u out of range")" identifier = (call_expression "gettext("local symbol %u section index %u out of range")" identifier (argument_list "("local symbol %u section index %u out of range")" ( (string_literal ""local symbol %u section index %u out of range"" " string_content ") )))) ;) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" identifier = identifier) ;) (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) (labeled_statement "LAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" statement_identifier : (expression_statement "FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" (call_expression "FUN_001c7b60(param_1,uVar9,uVar15,uVar5)" identifier (argument_list "(param_1,uVar9,uVar15,uVar5)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "piVar14[4] = 0;" (assignment_expression "piVar14[4] = 0" (subscript_expression "piVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar14[5] = 0;" (assignment_expression "piVar14[5] = 0" (subscript_expression "piVar14[5]" identifier [ number_literal ]) = number_literal) ;) }))))) (if_statement "if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }" if (parenthesized_expression "(uVar3 == uVar16 + 1)" ( (binary_expression "uVar3 == uVar16 + 1" identifier == (binary_expression "uVar16 + 1" identifier + number_literal)) )) (compound_statement "{\n        return local_58;\n      }" { (return_statement "return local_58;" return identifier ;) })) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17)" identifier = (cast_expression "(int *)(*(long *)(param_1 + 0x160) + lVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + lVar17)" ( (binary_expression "*(long *)(param_1 + 0x160) + lVar17" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "lVar17 = lVar17 + 0x18;" (assignment_expression "lVar17 = lVar17 + 0x18" identifier = (binary_expression "lVar17 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(char *)((long)piVar14 + 0xb) < '\0')" ( (binary_expression "*(char *)((long)piVar14 + 0xb) < '\0'" (pointer_expression "*(char *)((long)piVar14 + 0xb)" * (cast_expression "(char *)((long)piVar14 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) comment (expression_statement "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: uint do_finalize_local_symbols(Sized_relobj_file<64,_false> * this,\n   uint index, off_t off, Symbol_table * symtab) */\n\nuint __thiscall\ngold::Sized_relobj_file<64,_false>::do_finalize_local_symbols\n          (Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)\n\n{\n  bool bVar1;\n  byte bVar2;\n  uint uVar3;\n  pointer pSVar4;\n  _func_int_varargs *p_Var5;\n  pointer ppOVar6;\n  long lVar7;\n  anon_union_8_2_6a937475_for_u_ aVar8;\n  uint uVar9;\n  bool bVar10;\n  int iVar11;\n  ulong uVar12;\n  Relobj *object;\n  char *format;\n  uint64_t uVar13;\n  Output_relaxed_input_section *pOVar14;\n  anon_union_8_2_6a937475_for_u_ *paVar15;\n  Output_section *this_00;\n  undefined4 extraout_var_00;\n  pointer pSVar16;\n  uint uVar17;\n  uint uVar18;\n  long lVar19;\n  Section_id SVar20;\n  uint local_58;\n  uint64_t start;\n  undefined4 extraout_var;\n  \n  uVar12 = off + 7U & 0xfffffffffffffff8;\n  if (uVar12 != off) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  this->local_symbol_offset_ = uVar12;\n  uVar3 = this->local_symbol_count_;\n  if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar1 = (parameters->options_->relocatable_).value;\n  if (uVar3 < 2) {\n    return index;\n  }\n  pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>.\n           _M_impl._M_start;\n  pSVar16 = pSVar4 + 1;\n  if ((char)pSVar4[1].field_0xb < '\0') {\n    uVar18 = 1;\n    lVar19 = 0x30;\n    local_58 = index;\n    do {\n      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;\n      if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }\n      if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }\n      uVar18 = uVar18 + 1;\n      pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);\n      lVar19 = lVar19 + 0x18;\n    } while ((char)pSVar16->field_0xb < '\0');\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}\n\n" comment comment comment (declaration "uint __thiscall\ngold::Sized_relobj_file<64,_false>::do_finalize_local_symbols\n          (Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)\n\n{\n  bool bVar1;" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_finalize_local_symbols\n          (Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)\n\n{\n  bool" identifier > : : (function_declarator "do_finalize_local_symbols\n          (Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)" identifier (parameter_list "(Sized_relobj_file<64,_false> *this,uint index,off_t off,Symbol_table *symtab)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint index" type_identifier identifier) , (parameter_declaration "off_t off" type_identifier identifier) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) ))) { primitive_type) identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "pointer pSVar4;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "pointer ppOVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "anon_union_8_2_6a937475_for_u_ aVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "Relobj *object;" type_identifier (pointer_declarator "*object" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint64_t uVar13;" primitive_type identifier ;) (declaration "Output_relaxed_input_section *pOVar14;" type_identifier (pointer_declarator "*pOVar14" * identifier) ;) (declaration "anon_union_8_2_6a937475_for_u_ *paVar15;" type_identifier (pointer_declarator "*paVar15" * identifier) ;) (declaration "Output_section *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "pointer pSVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "Section_id SVar20;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "uint64_t start;" primitive_type identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (expression_statement "uVar12 = off + 7U & 0xfffffffffffffff8;" (assignment_expression "uVar12 = off + 7U & 0xfffffffffffffff8" identifier = (binary_expression "off + 7U & 0xfffffffffffffff8" (binary_expression "off + 7U" identifier + number_literal) & number_literal)) ;) (if_statement "if (uVar12 != off) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" if (parenthesized_expression "(uVar12 != off)" ( (binary_expression "uVar12 != off" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");" (call_expression "do_gold_unreachable("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" identifier (argument_list "("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_finalize_local_symbols"" " string_content ") ))) ;) })) (expression_statement "this->local_symbol_offset_ = uVar12;" (assignment_expression "this->local_symbol_offset_ = uVar12" (field_expression "this->local_symbol_offset_" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar3 = this->local_symbol_count_;" (assignment_expression "uVar3 = this->local_symbol_count_" identifier = (field_expression "this->local_symbol_count_" identifier -> field_identifier)) ;) (if_statement "if (parameters->options_ == (General_options *)0x0) {\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 "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { 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 ") ))) ;) })) (expression_statement "bVar1 = (parameters->options_->relocatable_).value;" (assignment_expression "bVar1 = (parameters->options_->relocatable_).value" identifier = (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)) ;) (if_statement "if (uVar3 < 2) {\n    return index;\n  }" if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n    return index;\n  }" { (return_statement "return index;" return identifier ;) })) (expression_statement "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>.\n           _M_impl._M_start;" (field_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>.\n           _M_impl._M_start" (field_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>.\n           _M_impl" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold::Symbol_value<64" (assignment_expression "pSVar4 = (this->local_values_).\n           super__Vector_base<gold" identifier = (binary_expression "(this->local_values_).\n           super__Vector_base<gold" (field_expression "(this->local_values_).\n           super__Vector_base" (parenthesized_expression "(this->local_values_)" ( (field_expression "this->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pSVar16 = pSVar4 + 1;" (assignment_expression "pSVar16 = pSVar4 + 1" identifier = (binary_expression "pSVar4 + 1" identifier + number_literal)) ;) (if_statement "if ((char)pSVar4[1].field_0xb < '\0') {\n    uVar18 = 1;\n    lVar19 = 0x30;\n    local_58 = index;\n    do {\n      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;\n      if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }\n      if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }\n      uVar18 = uVar18 + 1;\n      pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);\n      lVar19 = lVar19 + 0x18;\n    } while ((char)pSVar16->field_0xb < '\0');\n  }" if (parenthesized_expression "((char)pSVar4[1].field_0xb < '\0')" ( (binary_expression "(char)pSVar4[1].field_0xb < '\0'" (cast_expression "(char)pSVar4[1].field_0xb" ( (type_descriptor "char" primitive_type) ) (field_expression "pSVar4[1].field_0xb" (subscript_expression "pSVar4[1]" identifier [ number_literal ]) . field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar18 = 1;\n    lVar19 = 0x30;\n    local_58 = index;\n    do {\n      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;\n      if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }\n      if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }\n      uVar18 = uVar18 + 1;\n      pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);\n      lVar19 = lVar19 + 0x18;\n    } while ((char)pSVar16->field_0xb < '\0');\n  }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "lVar19 = 0x30;" (assignment_expression "lVar19 = 0x30" identifier = number_literal) ;) (expression_statement "local_58 = index;" (assignment_expression "local_58 = index" identifier = identifier) ;) (do_statement "do {\n      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;\n      if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }\n      if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }\n      uVar18 = uVar18 + 1;\n      pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);\n      lVar19 = lVar19 + 0x18;\n    } while ((char)pSVar16->field_0xb < '\0');" do (compound_statement "{\n      uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;\n      if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }\n      if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }\n      uVar18 = uVar18 + 1;\n      pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);\n      lVar19 = lVar19 + 0x18;\n    }" { (expression_statement "uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff;" (assignment_expression "uVar17 = *(uint *)&pSVar16->field_0x8 & 0x7ffffff" identifier = (binary_expression "*(uint *)&pSVar16->field_0x8 & 0x7ffffff" (pointer_expression "*(uint *)&pSVar16->field_0x8" * (cast_expression "(uint *)&pSVar16->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar16->field_0x8" & (field_expression "pSVar16->field_0x8" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if ((pSVar16->field_0xb & 8) == 0) {\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }" if (parenthesized_expression "((pSVar16->field_0xb & 8) == 0)" ( (binary_expression "(pSVar16->field_0xb & 8) == 0" (parenthesized_expression "(pSVar16->field_0xb & 8)" ( (binary_expression "pSVar16->field_0xb & 8" (field_expression "pSVar16->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;\njoined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }\n      }" { (if_statement "if ((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)) {\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }" if (parenthesized_expression "((uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10))" ( (binary_expression "(uVar17 != 0xfff1) && (bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)" (parenthesized_expression "(uVar17 != 0xfff1)" ( (binary_expression "uVar17 != 0xfff1" identifier != number_literal) )) && (parenthesized_expression "(bVar10 = Symbol::is_common_shndx(uVar17), !bVar10)" ( (ERROR "bVar10 = Symbol::" (assignment_expression "bVar10 = Symbol" identifier = identifier) : :) (comma_expression "is_common_shndx(uVar17), !bVar10" (call_expression "is_common_shndx(uVar17)" identifier (argument_list "(uVar17)" ( identifier ))) , (unary_expression "!bVar10" ! identifier)) ))) )) (compound_statement "{\n          format = (char *)gettext("unknown section index %u for local symbol %u");\n          uVar9 = uVar18;\n          goto LAB_001c9d61;\n        }" { (expression_statement "format = (char *)gettext("unknown section index %u for local symbol %u");" (assignment_expression "format = (char *)gettext("unknown section index %u for local symbol %u")" identifier = (cast_expression "(char *)gettext("unknown section index %u for local symbol %u")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("unknown section index %u for local symbol %u")" identifier (argument_list "("unknown section index %u for local symbol %u")" ( (string_literal ""unknown section index %u for local symbol %u"" " string_content ") ))))) ;) (expression_statement "uVar9 = uVar18;" (assignment_expression "uVar9 = uVar18" identifier = identifier) ;) (goto_statement "goto LAB_001c9d61;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9b6f:\n        uVar17 = pSVar16->output_symtab_index_;" statement_identifier : (expression_statement "uVar17 = pSVar16->output_symtab_index_;" (assignment_expression "uVar17 = pSVar16->output_symtab_index_" identifier = (field_expression "pSVar16->output_symtab_index_" identifier -> field_identifier)) ;)) (labeled_statement "joined_r0x001c9b73:\n        if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }" statement_identifier : (if_statement "if ((uVar17 == 0) || (uVar17 == 0xfffffffe)) {\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }" if (parenthesized_expression "((uVar17 == 0) || (uVar17 == 0xfffffffe))" ( (binary_expression "(uVar17 == 0) || (uVar17 == 0xfffffffe)" (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0xfffffffe)" ( (binary_expression "uVar17 == 0xfffffffe" identifier == number_literal) ))) )) (compound_statement "{\n          if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          pSVar16->output_symtab_index_ = local_58;\n          local_58 = local_58 + 1;\n        }" { (if_statement "if (0xfffffffc < local_58 - 1) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" if (parenthesized_expression "(0xfffffffc < local_58 - 1)" ( (binary_expression "0xfffffffc < local_58 - 1" number_literal < (binary_expression "local_58 - 1" identifier - number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) })) (expression_statement "pSVar16->output_symtab_index_ = local_58;" (assignment_expression "pSVar16->output_symtab_index_ = local_58" (field_expression "pSVar16->output_symtab_index_" identifier -> field_identifier) = identifier) ;) (expression_statement "local_58 = local_58 + 1;" (assignment_expression "local_58 = local_58 + 1" identifier = (binary_expression "local_58 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }" else (if_statement "if (uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }" if (parenthesized_expression "(uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_)" ( (binary_expression "uVar17 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_" identifier < (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) )) (compound_statement "{\n        this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];\n        uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];\n        bVar10 = Symbol_table::is_section_folded(symtab,(Relobj *)this,uVar17);\n        if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }\n        if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }" { (expression_statement "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17];" (subscript_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start[uVar17]" (field_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start" (field_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold::Output_section*,_std" (assignment_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                  super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (ERROR "uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std::" (comma_expression "uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int,_std" (assignment_expression "uVar12 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                 super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17];" (subscript_expression "allocator<long_unsigned_int>_>._M_impl.\n                 _M_start[uVar17]" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                 _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (ERROR "bVar10 = Symbol_table::" (assignment_expression "bVar10 = Symbol_table" identifier = identifier) : :) (expression_statement "is_section_folded(symtab,(Relobj *)this,uVar17);" (call_expression "is_section_folded(symtab,(Relobj *)this,uVar17)" identifier (argument_list "(symtab,(Relobj *)this,uVar17)" ( identifier , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (if_statement "if (bVar10) {\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          SVar20 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,uVar17);\n          uVar12 = SVar20._8_8_;\n          object = SVar20.first;\n          if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          p_Var5 = (object->super_Object)._vptr_Object[0x18];\n          if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }\n          if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          lVar7 = *(long *)&object[1].super_Object.shnum_;\n          if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);\n          if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }\n          (pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);\n          uVar17 = pSVar16->output_symtab_index_;\n          goto joined_r0x001c9b73;\n        }" { (if_statement "if ((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "((this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff))" ( (binary_expression "(this_00 != (Output_section *)0x0) || (uVar12 != 0xffffffffffffffff)" (parenthesized_expression "(this_00 != (Output_section *)0x0)" ( (binary_expression "this_00 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar12 != 0xffffffffffffffff)" ( (binary_expression "uVar12 != 0xffffffffffffffff" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (ERROR "SVar20 = Icf::" (assignment_expression "SVar20 = Icf" identifier = identifier) : :) (expression_statement "get_folded_section(symtab->icf_,(Relobj *)this,uVar17);" (call_expression "get_folded_section(symtab->icf_,(Relobj *)this,uVar17)" identifier (argument_list "(symtab->icf_,(Relobj *)this,uVar17)" ( (field_expression "symtab->icf_" identifier -> field_identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "uVar12 = SVar20._8_8_;" (assignment_expression "uVar12 = SVar20._8_8_" identifier = (field_expression "SVar20._8_8_" identifier . field_identifier)) ;) (expression_statement "object = SVar20.first;" (assignment_expression "object = SVar20.first" identifier = (field_expression "SVar20.first" identifier . field_identifier)) ;) (if_statement "if (object == (Relobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(object == (Relobj *)0x0)" ( (binary_expression "object == (Relobj *)0x0" identifier == (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x991,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x991,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (expression_statement "p_Var5 = (object->super_Object)._vptr_Object[0x18];" (assignment_expression "p_Var5 = (object->super_Object)._vptr_Object[0x18]" identifier = (subscript_expression "(object->super_Object)._vptr_Object[0x18]" (field_expression "(object->super_Object)._vptr_Object" (parenthesized_expression "(object->super_Object)" ( (field_expression "object->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var5 == Relobj::do_output_section) {\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }\n          else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }" if (parenthesized_expression "(p_Var5 == Relobj::do_output_section)" ( (ERROR "p_Var5 == Relobj::" (binary_expression "p_Var5 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n            ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            this_00 = ppOVar6[uVar12 & 0xffffffff];\n          }" { (expression_statement "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;" (field_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start" (field_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl" (binary_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar6 = (object->output_sections_).\n                      super__Vector_base<gold" identifier = (binary_expression "(object->output_sections_).\n                      super__Vector_base<gold" (field_expression "(object->output_sections_).\n                      super__Vector_base" (parenthesized_expression "(object->output_sections_)" ( (field_expression "object->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff))" ( (binary_expression "(ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (uVar12 & 0xffffffff)" (call_expression "(ulong)((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3)" ( (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6 >> 3" (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish - (long)ppOVar6" (field_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl._M_finish" (field_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                              ._M_impl" (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(object->output_sections_).\n                              super__Vector_base<gold" (cast_expression "(long)(object->output_sections_).\n                              super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(object->output_sections_).\n                              super__Vector_base" (parenthesized_expression "(object->output_sections_)" ( (field_expression "object->output_sections_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= (parenthesized_expression "(uVar12 & 0xffffffff)" ( (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n            }" { 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 "this_00 = ppOVar6[uVar12 & 0xffffffff];" (assignment_expression "this_00 = ppOVar6[uVar12 & 0xffffffff]" identifier = (subscript_expression "ppOVar6[uVar12 & 0xffffffff]" identifier [ (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ])) ;) }) (else_clause "else {\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }" else (compound_statement "{\n            iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);\n            this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);\n          }" { (expression_statement "iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff);" (assignment_expression "iVar11 = (*p_Var5)(object,uVar12 & 0xffffffff)" identifier = (call_expression "(*p_Var5)(object,uVar12 & 0xffffffff)" (parenthesized_expression "(*p_Var5)" ( (pointer_expression "*p_Var5" * identifier) )) (argument_list "(object,uVar12 & 0xffffffff)" ( identifier , (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "this_00 = (Output_section *)CONCAT44(extraout_var,iVar11);" (assignment_expression "this_00 = (Output_section *)CONCAT44(extraout_var,iVar11)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var,iVar11)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar11)" identifier (argument_list "(extraout_var,iVar11)" ( identifier , identifier ))))) ;) }))) (if_statement "if (this_00 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(this_00 == (Output_section *)0x0)" ( (binary_expression "this_00 == (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/object.cc",0x995,"compute_final_local_value_internal");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x995,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x995,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (expression_statement "lVar7 = *(long *)&object[1].super_Object.shnum_;" (assignment_expression "lVar7 = *(long *)&object[1].super_Object.shnum_" identifier = (pointer_expression "*(long *)&object[1].super_Object.shnum_" * (cast_expression "(long *)&object[1].super_Object.shnum_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&object[1].super_Object.shnum_" & (field_expression "object[1].super_Object.shnum_" (field_expression "object[1].super_Object" (subscript_expression "object[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))))) ;) (if_statement "if ((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" if (parenthesized_expression "((ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff))" ( (binary_expression "(ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3) <= (uVar12 & 0xffffffff)" (call_expression "(ulong)((long)object[1].super_Object.xindex_ - lVar7 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)object[1].super_Object.xindex_ - lVar7 >> 3)" ( (binary_expression "(long)object[1].super_Object.xindex_ - lVar7 >> 3" (binary_expression "(long)object[1].super_Object.xindex_ - lVar7" (cast_expression "(long)object[1].super_Object.xindex_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "object[1].super_Object.xindex_" (field_expression "object[1].super_Object" (subscript_expression "object[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) - identifier) >> number_literal) ))) <= (parenthesized_expression "(uVar12 & 0xffffffff)" ( (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset")" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") ))) ;) })) (expression_statement "uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8);" (assignment_expression "uVar12 = *(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8)" identifier = (pointer_expression "*(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8)" * (cast_expression "(ulong *)(lVar7 + (uVar12 & 0xffffffff) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + (uVar12 & 0xffffffff) * 8)" ( (binary_expression "lVar7 + (uVar12 & 0xffffffff) * 8" identifier + (binary_expression "(uVar12 & 0xffffffff) * 8" (parenthesized_expression "(uVar12 & 0xffffffff)" ( (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (uVar12 == 0xffffffffffffffff) {\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }" if (parenthesized_expression "(uVar12 == 0xffffffffffffffff)" ( (binary_expression "uVar12 == 0xffffffffffffffff" identifier == number_literal) )) (compound_statement "{\n            pOVar14 = Output_section::find_relaxed_input_section(this_00,object,SVar20.second);\n            if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }\n            if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;\n            uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;\n            goto LAB_001c9d89;\n          }" { (ERROR "pOVar14 = Output_section::" (assignment_expression "pOVar14 = Output_section" identifier = identifier) : :) (expression_statement "find_relaxed_input_section(this_00,object,SVar20.second);" (call_expression "find_relaxed_input_section(this_00,object,SVar20.second)" identifier (argument_list "(this_00,object,SVar20.second)" ( identifier , identifier , (field_expression "SVar20.second" identifier . field_identifier) ))) ;) (if_statement "if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }" if (parenthesized_expression "(pOVar14 == (Output_relaxed_input_section *)0x0)" ( (binary_expression "pOVar14 == (Output_relaxed_input_section *)0x0" identifier == (cast_expression "(Output_relaxed_input_section *)0x0" ( (type_descriptor "Output_relaxed_input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")\n              ;" (call_expression "do_gold_unreachable("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if ((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;" if (parenthesized_expression "((((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0))" ( (binary_expression "(((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0) ||\n               (((this_00->super_Output_data).field_0x20 & 1) == 0)" (parenthesized_expression "(((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1)" ( (binary_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20 & 1" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.field_0x20" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar14->super_Output_section_data_build)" ( (field_expression "pOVar14->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(((this_00->super_Output_data).field_0x20 & 1) == 0)" ( (binary_expression "((this_00->super_Output_data).field_0x20 & 1) == 0" (parenthesized_expression "((this_00->super_Output_data).field_0x20 & 1)" ( (binary_expression "(this_00->super_Output_data).field_0x20 & 1" (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_;" (assignment_expression "uVar12 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_" identifier = (binary_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_ - (this_00->super_Output_data).address_" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar14->super_Output_section_data_build)" ( (field_expression "pOVar14->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) - (field_expression "(this_00->super_Output_data).address_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (goto_statement "goto LAB_001c9d89;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9ca4:\n          if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }" statement_identifier : (if_statement "if (((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))) {\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }\n          else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }" if (parenthesized_expression "(((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0))))" ( (binary_expression "((pSVar16->field_0xb & 0x20) == 0) &&\n             (((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))" (parenthesized_expression "((pSVar16->field_0xb & 0x20) == 0)" ( (binary_expression "(pSVar16->field_0xb & 0x20) == 0" (parenthesized_expression "(pSVar16->field_0xb & 0x20)" ( (binary_expression "pSVar16->field_0xb & 0x20" (field_expression "pSVar16->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)))" ( (parenthesized_expression "((pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0))" ( (binary_expression "(pSVar16->field_0xb & 0x10) == 0 || ((this_00->flags_ & 0x400) == 0)" (binary_expression "(pSVar16->field_0xb & 0x10) == 0" (parenthesized_expression "(pSVar16->field_0xb & 0x10)" ( (binary_expression "pSVar16->field_0xb & 0x10" (field_expression "pSVar16->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) || (parenthesized_expression "((this_00->flags_ & 0x400) == 0)" ( (binary_expression "(this_00->flags_ & 0x400) == 0" (parenthesized_expression "(this_00->flags_ & 0x400)" ( (binary_expression "this_00->flags_ & 0x400" (field_expression "this_00->flags_" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }\n          }" { (if_statement "if (bVar1 == false) {\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }\n            else {\n              uVar13 = 0;\n            }" if (parenthesized_expression "(bVar1 == false)" ( (binary_expression "bVar1 == false" identifier == false) )) (compound_statement "{\n              if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              uVar13 = (this_00->super_Output_data).address_;\n            }" { (if_statement "if (((this_00->super_Output_data).field_0x20 & 1) == 0) {\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }" if (parenthesized_expression "(((this_00->super_Output_data).field_0x20 & 1) == 0)" ( (binary_expression "((this_00->super_Output_data).field_0x20 & 1) == 0" (parenthesized_expression "((this_00->super_Output_data).field_0x20 & 1)" ( (binary_expression "(this_00->super_Output_data).field_0x20 & 1" (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001c9fb7:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }" { (labeled_statement "LAB_001c9fb7:\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 "uVar13 = (this_00->super_Output_data).address_;" (assignment_expression "uVar13 = (this_00->super_Output_data).address_" identifier = (field_expression "(this_00->super_Output_data).address_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n              uVar13 = 0;\n            }" else (compound_statement "{\n              uVar13 = 0;\n            }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }" else (compound_statement "{\n            p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];\n            if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }\n          }" { (expression_statement "p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12];" (assignment_expression "p_Var5 = (this_00->super_Output_data)._vptr_Output_data[0x12]" identifier = (subscript_expression "(this_00->super_Output_data)._vptr_Output_data[0x12]" (field_expression "(this_00->super_Output_data)._vptr_Output_data" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var5 == Output_section::do_tls_offset) {\n              uVar13 = this_00->tls_offset_;\n            }\n            else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }" if (parenthesized_expression "(p_Var5 == Output_section::do_tls_offset)" ( (binary_expression "p_Var5 == Output_section" identifier == identifier) (ERROR "::do_tls_offset" : : identifier) )) (compound_statement "{\n              uVar13 = this_00->tls_offset_;\n            }" { (expression_statement "uVar13 = this_00->tls_offset_;" (assignment_expression "uVar13 = this_00->tls_offset_" identifier = (field_expression "this_00->tls_offset_" identifier -> field_identifier)) ;) }) (else_clause "else {\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }" else (compound_statement "{\n              iVar11 = (*p_Var5)(this_00);\n              uVar13 = CONCAT44(extraout_var_00,iVar11);\n            }" { (expression_statement "iVar11 = (*p_Var5)(this_00);" (assignment_expression "iVar11 = (*p_Var5)(this_00)" identifier = (call_expression "(*p_Var5)(this_00)" (parenthesized_expression "(*p_Var5)" ( (pointer_expression "*p_Var5" * identifier) )) (argument_list "(this_00)" ( identifier )))) ;) (expression_statement "uVar13 = CONCAT44(extraout_var_00,iVar11);" (assignment_expression "uVar13 = CONCAT44(extraout_var_00,iVar11)" identifier = (call_expression "CONCAT44(extraout_var_00,iVar11)" identifier (argument_list "(extraout_var_00,iVar11)" ( identifier , identifier )))) ;) }))) })))) (expression_statement "(pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12);" (assignment_expression "(pSVar16->u_).merged_symbol_value =\n               (Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12)" (field_expression "(pSVar16->u_).merged_symbol_value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) = (call_expression "(Merged_symbol_value<64> *)\n               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12)" (parenthesized_expression "(Merged_symbol_value<64> *)" ( (binary_expression "Merged_symbol_value<64> *" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12)" ( (binary_expression "(long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13 + uVar12" (binary_expression "(long)&((pSVar16->u_).merged_symbol_value)->input_value_ + uVar13" (cast_expression "(long)&((pSVar16->u_).merged_symbol_value)->input_value_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((pSVar16->u_).merged_symbol_value)->input_value_" & (field_expression "((pSVar16->u_).merged_symbol_value)->input_value_" (parenthesized_expression "((pSVar16->u_).merged_symbol_value)" ( (field_expression "(pSVar16->u_).merged_symbol_value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + identifier) + identifier) )))) ;) (expression_statement "uVar17 = pSVar16->output_symtab_index_;" (assignment_expression "uVar17 = pSVar16->output_symtab_index_" identifier = (field_expression "pSVar16->output_symtab_index_" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x001c9b73;" goto statement_identifier ;) })) (if_statement "if (this_00 != (Output_section *)0x0) {\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" if (parenthesized_expression "(this_00 != (Output_section *)0x0)" ( (binary_expression "this_00 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;\n          if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }\n          if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" { (labeled_statement "LAB_001c9d89:\n          if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;" statement_identifier : (if_statement "if (uVar12 != 0xffffffffffffffff) goto LAB_001c9ca4;" if (parenthesized_expression "(uVar12 != 0xffffffffffffffff)" ( (binary_expression "uVar12 != 0xffffffffffffffff" identifier != number_literal) )) (goto_statement "goto LAB_001c9ca4;" goto statement_identifier ;))) (if_statement "if (this_00->order_ != ORDER_EHFRAME) {\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }" if (parenthesized_expression "(this_00->order_ != ORDER_EHFRAME)" ( (binary_expression "this_00->order_ != ORDER_EHFRAME" (field_expression "this_00->order_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            (pSVar16->u_).value = uVar13;\n            goto LAB_001c9b6f;\n          }" { (if_statement "if ((pSVar16->field_0xb & 0x10) == 0) {\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }\n            else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" if (parenthesized_expression "((pSVar16->field_0xb & 0x10) == 0)" ( (binary_expression "(pSVar16->field_0xb & 0x10) == 0" (parenthesized_expression "(pSVar16->field_0xb & 0x10)" ( (binary_expression "pSVar16->field_0xb & 0x10" (field_expression "pSVar16->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar13 = Output_section::output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);\n              if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }\n            }" { (ERROR "uVar13 = Output_section::" (assignment_expression "uVar13 = Output_section" identifier = identifier) : :) (expression_statement "output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value);" (call_expression "output_address\n                                 (this_00,(Relobj *)this,uVar17,(pSVar16->u_).value)" identifier (argument_list "(this_00,(Relobj *)this,uVar17,(pSVar16->u_).value)" ( identifier , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (field_expression "(pSVar16->u_).value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (bVar1 != false) {\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }" if (parenthesized_expression "(bVar1 != false)" ( (binary_expression "bVar1 != false" identifier != false) )) (compound_statement "{\n                bVar2 = (this_00->super_Output_data).field_0x20;\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = uVar13 - (this_00->super_Output_data).address_;\n              }" { (expression_statement "bVar2 = (this_00->super_Output_data).field_0x20;" (assignment_expression "bVar2 = (this_00->super_Output_data).field_0x20" identifier = (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "joined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" statement_identifier : (if_statement "if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((bVar2 & 1) == 0)" ( (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;))) (expression_statement "uVar13 = uVar13 - (this_00->super_Output_data).address_;" (assignment_expression "uVar13 = uVar13 - (this_00->super_Output_data).address_" identifier = (binary_expression "uVar13 - (this_00->super_Output_data).address_" identifier - (field_expression "(this_00->super_Output_data).address_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) })) }) (else_clause "else {\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" else (compound_statement "{\n              bVar10 = Output_section::find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);\n              if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              pOVar14 = Output_section::find_relaxed_input_section(this_00,(Relobj *)this,uVar17);\n              if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" { (ERROR "bVar10 = Output_section::" (assignment_expression "bVar10 = Output_section" identifier = identifier) : :) (expression_statement "find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start);" (call_expression "find_starting_output_address\n                                 (this_00,(Relobj *)this,uVar17,&start)" identifier (argument_list "(this_00,(Relobj *)this,uVar17,&start)" ( identifier , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&start" & identifier) ))) ;) (if_statement "if (bVar10) {\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                uVar13 = start;\n                if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }\n                aVar8 = pSVar16->u_;\n                paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);\n                *(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;\n                *paVar15 = aVar8;\n                paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);\n                bVar2 = pSVar16->field_0xb;\n                paVar15[1].value = uVar13;\n                paVar15[8].value = 0;\n                paVar15[3].value = 1;\n                paVar15[4].value = 0;\n                paVar15[5].value = 0;\n                *(undefined4 *)(paVar15 + 6) = 0x3f800000;\n                paVar15[7].value = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                (pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;\n                pSVar16->field_0xb = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" { (expression_statement "uVar13 = start;" (assignment_expression "uVar13 = start" identifier = identifier) ;) (if_statement "if (bVar1 != false) {\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }" if (parenthesized_expression "(bVar1 != false)" ( (binary_expression "bVar1 != false" identifier != false) )) (compound_statement "{\n                  if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                  uVar13 = start - (this_00->super_Output_data).address_;\n                }" { (if_statement "if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "(((this_00->super_Output_data).field_0x20 & 1) == 0)" ( (binary_expression "((this_00->super_Output_data).field_0x20 & 1) == 0" (parenthesized_expression "((this_00->super_Output_data).field_0x20 & 1)" ( (binary_expression "(this_00->super_Output_data).field_0x20 & 1" (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "uVar13 = start - (this_00->super_Output_data).address_;" (assignment_expression "uVar13 = start - (this_00->super_Output_data).address_" identifier = (binary_expression "start - (this_00->super_Output_data).address_" identifier - (field_expression "(this_00->super_Output_data).address_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "aVar8 = pSVar16->u_;" (assignment_expression "aVar8 = pSVar16->u_" identifier = (field_expression "pSVar16->u_" identifier -> field_identifier)) ;) (expression_statement "paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48);" (assignment_expression "paVar15 = (anon_union_8_2_6a937475_for_u_ *)operator_new(0x48)" identifier = (cast_expression "(anon_union_8_2_6a937475_for_u_ *)operator_new(0x48)" ( (type_descriptor "anon_union_8_2_6a937475_for_u_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x48)" identifier (argument_list "(0x48)" ( number_literal ))))) ;) (expression_statement "*(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(paVar15 + 6) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(paVar15 + 6)" * (cast_expression "(undefined1 (*) [16])(paVar15 + 6)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(paVar15 + 6)" ( (binary_expression "paVar15 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*paVar15 = aVar8;" (assignment_expression "*paVar15 = aVar8" (pointer_expression "*paVar15" * identifier) = identifier) ;) (expression_statement "paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8);" (assignment_expression "paVar15[2].merged_symbol_value = (Merged_symbol_value<64> *)(paVar15 + 8)" (field_expression "paVar15[2].merged_symbol_value" (subscript_expression "paVar15[2]" identifier [ number_literal ]) . field_identifier) = (call_expression "(Merged_symbol_value<64> *)(paVar15 + 8)" (parenthesized_expression "(Merged_symbol_value<64> *)" ( (binary_expression "Merged_symbol_value<64> *" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(paVar15 + 8)" ( (binary_expression "paVar15 + 8" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pSVar16->field_0xb;" (assignment_expression "bVar2 = pSVar16->field_0xb" identifier = (field_expression "pSVar16->field_0xb" identifier -> field_identifier)) ;) (expression_statement "paVar15[1].value = uVar13;" (assignment_expression "paVar15[1].value = uVar13" (field_expression "paVar15[1].value" (subscript_expression "paVar15[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "paVar15[8].value = 0;" (assignment_expression "paVar15[8].value = 0" (field_expression "paVar15[8].value" (subscript_expression "paVar15[8]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "paVar15[3].value = 1;" (assignment_expression "paVar15[3].value = 1" (field_expression "paVar15[3].value" (subscript_expression "paVar15[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "paVar15[4].value = 0;" (assignment_expression "paVar15[4].value = 0" (field_expression "paVar15[4].value" (subscript_expression "paVar15[4]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "paVar15[5].value = 0;" (assignment_expression "paVar15[5].value = 0" (field_expression "paVar15[5].value" (subscript_expression "paVar15[5]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(paVar15 + 6) = 0x3f800000;" (assignment_expression "*(undefined4 *)(paVar15 + 6) = 0x3f800000" (pointer_expression "*(undefined4 *)(paVar15 + 6)" * (cast_expression "(undefined4 *)(paVar15 + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar15 + 6)" ( (binary_expression "paVar15 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "paVar15[7].value = 0;" (assignment_expression "paVar15[7].value = 0" (field_expression "paVar15[7].value" (subscript_expression "paVar15[7]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if ((bVar2 & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value");" (call_expression "do_gold_unreachable("../../gold/object.h",0x6bb,"set_merged_symbol_value")" identifier (argument_list "("../../gold/object.h",0x6bb,"set_merged_symbol_value")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_merged_symbol_value"" " string_content ") ))) ;) })) (expression_statement "(pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15;" (assignment_expression "(pSVar16->u_).merged_symbol_value = (Merged_symbol_value<64> *)paVar15" (field_expression "(pSVar16->u_).merged_symbol_value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) = (parenthesized_expression "(Merged_symbol_value<64> *)paVar15" ( (binary_expression "Merged_symbol_value<64> *)paVar15" (binary_expression "Merged_symbol_value<64" identifier < number_literal) > (pointer_expression "*)paVar15" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "pSVar16->field_0xb = bVar2 & 0x7f;" (assignment_expression "pSVar16->field_0xb = bVar2 & 0x7f" (field_expression "pSVar16->field_0xb" identifier -> field_identifier) = (binary_expression "bVar2 & 0x7f" identifier & number_literal)) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (ERROR "pOVar14 = Output_section::" (assignment_expression "pOVar14 = Output_section" identifier = identifier) : :) (expression_statement "find_relaxed_input_section(this_00,(Relobj *)this,uVar17);" (call_expression "find_relaxed_input_section(this_00,(Relobj *)this,uVar17)" identifier (argument_list "(this_00,(Relobj *)this,uVar17)" ( identifier , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (if_statement "if (pOVar14 == (Output_relaxed_input_section *)0x0) {\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }\n              else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }" if (parenthesized_expression "(pOVar14 == (Output_relaxed_input_section *)0x0)" ( (binary_expression "pOVar14 == (Output_relaxed_input_section *)0x0" identifier == (cast_expression "(Output_relaxed_input_section *)0x0" ( (type_descriptor "Output_relaxed_input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (this_00->super_Output_data).address_;\n              }" { (if_statement "if (((this_00->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "(((this_00->super_Output_data).field_0x20 & 1) == 0)" ( (binary_expression "((this_00->super_Output_data).field_0x20 & 1) == 0" (parenthesized_expression "((this_00->super_Output_data).field_0x20 & 1)" ( (binary_expression "(this_00->super_Output_data).field_0x20 & 1" (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "uVar13 = (this_00->super_Output_data).address_;" (assignment_expression "uVar13 = (this_00->super_Output_data).address_" identifier = (field_expression "(this_00->super_Output_data).address_" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }" else (compound_statement "{\n                if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;\n                uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;\n                if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }\n              }" { (if_statement "if (((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "(((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1)" ( (binary_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20 & 1" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.field_0x20" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar14->super_Output_section_data_build)" ( (field_expression "pOVar14->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_;" (assignment_expression "uVar13 = (pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_" identifier = (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data" (field_expression "(pOVar14->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar14->super_Output_section_data_build)" ( (field_expression "pOVar14->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (bVar1 != false) {\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }" if (parenthesized_expression "(bVar1 != false)" ( (binary_expression "bVar1 != false" identifier != false) )) (compound_statement "{\n                  bVar2 = (this_00->super_Output_data).field_0x20;\n                  goto joined_r0x001c9fb1;\n                }" { (expression_statement "bVar2 = (this_00->super_Output_data).field_0x20;" (assignment_expression "bVar2 = (this_00->super_Output_data).field_0x20" identifier = (field_expression "(this_00->super_Output_data).field_0x20" (parenthesized_expression "(this_00->super_Output_data)" ( (field_expression "this_00->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto joined_r0x001c9fb1;" goto statement_identifier ;) })) }))) }))) (expression_statement "(pSVar16->u_).value = uVar13;" (assignment_expression "(pSVar16->u_).value = uVar13" (field_expression "(pSVar16->u_).value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (if_statement "if (this->has_eh_frame_ == false) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(this->has_eh_frame_ == false)" ( (binary_expression "this->has_eh_frame_ == false" (field_expression "this->has_eh_frame_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) })) }) (else_clause "else {\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }" else (compound_statement "{\n        format = (char *)gettext("local symbol %u section index %u out of range");\n        uVar9 = uVar17;\n        uVar17 = uVar18;\nLAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);\n        (pSVar16->u_).value = 0;\n      }" { (expression_statement "format = (char *)gettext("local symbol %u section index %u out of range");" (assignment_expression "format = (char *)gettext("local symbol %u section index %u out of range")" identifier = (cast_expression "(char *)gettext("local symbol %u section index %u out of range")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("local symbol %u section index %u out of range")" identifier (argument_list "("local symbol %u section index %u out of range")" ( (string_literal ""local symbol %u section index %u out of range"" " string_content ") ))))) ;) (expression_statement "uVar9 = uVar17;" (assignment_expression "uVar9 = uVar17" identifier = identifier) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) (labeled_statement "LAB_001c9d61:\n        Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);" statement_identifier : (labeled_statement "Object::error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,format,(ulong)uVar17,(ulong)uVar9);" (call_expression "error((Object *)this,format,(ulong)uVar17,(ulong)uVar9)" identifier (argument_list "((Object *)this,format,(ulong)uVar17,(ulong)uVar9)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar9" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;))) (expression_statement "(pSVar16->u_).value = 0;" (assignment_expression "(pSVar16->u_).value = 0" (field_expression "(pSVar16->u_).value" (parenthesized_expression "(pSVar16->u_)" ( (field_expression "pSVar16->u_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) }))))) (if_statement "if (uVar3 == uVar18 + 1) {\n        return local_58;\n      }" if (parenthesized_expression "(uVar3 == uVar18 + 1)" ( (binary_expression "uVar3 == uVar18 + 1" identifier == (binary_expression "uVar18 + 1" identifier + number_literal)) )) (compound_statement "{\n        return local_58;\n      }" { (return_statement "return local_58;" return identifier ;) })) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19);" (assignment_expression "pSVar16 = (pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19)" identifier = (call_expression "(pointer)((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19)" ( (binary_expression "(long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_ + lVar19" (cast_expression "(long)&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_" & (field_expression "((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)->output_symtab_index_" (parenthesized_expression "((this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start)" ( (field_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl._M_start" (field_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_>\n                                  ._M_impl" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_>_" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64>_" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold::Symbol_value<64" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std::allocator<gold" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64>,_std" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold::Symbol_value<64" (binary_expression "(this->local_values_).\n                                  super__Vector_base<gold" (field_expression "(this->local_values_).\n                                  super__Vector_base" (parenthesized_expression "(this->local_values_)" ( (field_expression "this->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) -> field_identifier))) + identifier) )))) ;) (expression_statement "lVar19 = lVar19 + 0x18;" (assignment_expression "lVar19 = lVar19 + 0x18" identifier = (binary_expression "lVar19 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "((char)pSVar16->field_0xb < '\0')" ( (binary_expression "(char)pSVar16->field_0xb < '\0'" (cast_expression "(char)pSVar16->field_0xb" ( (type_descriptor "char" primitive_type) ) (field_expression "pSVar16->field_0xb" identifier -> field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x96c,"compute_final_local_value_internal");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    \n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}\n\n" (function_definition "int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    \n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" primitive_type (function_declarator "FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)" identifier (parameter_list "(long param_1,int param_2,ulong param_3,long param_4)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "ulong param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    \n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "long *plVar12;" (sized_type_specifier "long" long) (pointer_declarator "*plVar12" * identifier) ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "long local_40 [2];" (sized_type_specifier "long" long) (array_declarator "local_40 [2]" identifier [ number_literal ]) ;) (expression_statement "uVar7 = param_3 + 7 & 0xfffffffffffffff8;" (assignment_expression "uVar7 = param_3 + 7 & 0xfffffffffffffff8" identifier = (binary_expression "param_3 + 7 & 0xfffffffffffffff8" (binary_expression "param_3 + 7" identifier + number_literal) & number_literal)) ;) (if_statement "if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" if (parenthesized_expression "(uVar7 != param_3)" ( (binary_expression "uVar7 != param_3" identifier != identifier) )) (compound_statement "{\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" { (expression_statement "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");" (call_expression "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" identifier (argument_list "("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_finalize_local_symbols"" " string_content ") ))) ;) })) (expression_statement "*(ulong *)(param_1 + 0x150) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 0x150) = uVar7" (pointer_expression "*(ulong *)(param_1 + 0x150)" * (cast_expression "(ulong *)(param_1 + 0x150)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x150)" ( (binary_expression "param_1 + 0x150" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(uint *)(param_1 + 0x120);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x120)" identifier = (pointer_expression "*(uint *)(param_1 + 0x120)" * (cast_expression "(uint *)(param_1 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../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 ") ))) ;) })) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" ( (binary_expression "PTR_DAT_003f85c0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (uVar3 < 2) {\n    return param_2;\n  }" if (parenthesized_expression "(uVar3 < 2)" ( (binary_expression "uVar3 < 2" identifier < number_literal) )) (compound_statement "{\n    return param_2;\n  }" { (return_statement "return param_2;" return identifier ;) })) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18)" identifier = (cast_expression "(int *)(*(long *)(param_1 + 0x160) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x160) + 0x18" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" if (parenthesized_expression "(*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0')" ( (binary_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0'" (pointer_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23)" * (cast_expression "(char *)(*(long *)(param_1 + 0x160) + 0x23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x23)" ( (binary_expression "*(long *)(param_1 + 0x160) + 0x23" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" { (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (expression_statement "lVar17 = 0x30;" (assignment_expression "lVar17 = 0x30" identifier = number_literal) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (do_statement "do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');" do (compound_statement "{\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    }" { (expression_statement "uVar15 = piVar14[2] & 0x7ffffff;" (assignment_expression "uVar15 = piVar14[2] & 0x7ffffff" identifier = (binary_expression "piVar14[2] & 0x7ffffff" (subscript_expression "piVar14[2]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" if (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 8)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 8" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }" { (if_statement "if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" if (parenthesized_expression "((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'))" ( (binary_expression "(uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" (parenthesized_expression "(uVar15 != 0xfff1)" ( (binary_expression "uVar15 != 0xfff1" identifier != number_literal) )) && (parenthesized_expression "(cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" ( (comma_expression "cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'" (assignment_expression "cVar6 = FUN_0024aae0(uVar15)" identifier = (call_expression "FUN_0024aae0(uVar15)" identifier (argument_list "(uVar15)" ( identifier )))) , (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" { (expression_statement "uVar9 = gettext("unknown section index %u for local symbol %u");" (assignment_expression "uVar9 = gettext("unknown section index %u for local symbol %u")" identifier = (call_expression "gettext("unknown section index %u for local symbol %u")" identifier (argument_list "("unknown section index %u for local symbol %u")" ( (string_literal ""unknown section index %u for local symbol %u"" " string_content ") )))) ;) (expression_statement "uVar5 = uVar16;" (assignment_expression "uVar5 = uVar16" identifier = identifier) ;) (goto_statement "goto LAB_001c9d61;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9b6f:\n        iVar4 = *piVar14;" statement_identifier : (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;)) (labeled_statement "joined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" statement_identifier : (if_statement "if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" if (parenthesized_expression "((iVar4 == 0) || (iVar4 == -2))" ( (binary_expression "(iVar4 == 0) || (iVar4 == -2)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 == -2)" ( (binary_expression "iVar4 == -2" identifier == number_literal) ))) )) (compound_statement "{\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" { (if_statement "if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" if (parenthesized_expression "(0xfffffffc < local_58 - 1U)" ( (binary_expression "0xfffffffc < local_58 - 1U" number_literal < (binary_expression "local_58 - 1U" identifier - number_literal)) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" { (expression_statement "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) })) (expression_statement "*piVar14 = local_58;" (assignment_expression "*piVar14 = local_58" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "local_58 = local_58 + 1;" (assignment_expression "local_58 = local_58 + 1" identifier = (binary_expression "local_58 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" else (if_statement "if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" if (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 0x38))" ( (binary_expression "uVar15 < *(uint *)(param_1 + 0x38)" identifier < (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }" { (expression_statement "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);" (assignment_expression "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" identifier = (pointer_expression "*(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" * (cast_expression "(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);" (assignment_expression "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" ( (binary_expression "*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "cVar6 = FUN_0024ae80(param_4,param_1,uVar15);" (assignment_expression "cVar6 = FUN_0024ae80(param_4,param_1,uVar15)" identifier = (call_expression "FUN_0024ae80(param_4,param_1,uVar15)" identifier (argument_list "(param_4,param_1,uVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" { (if_statement "if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "((plVar12 != (long *)0x0) || (lVar10 != -1))" ( (binary_expression "(plVar12 != (long *)0x0) || (lVar10 != -1)" (parenthesized_expression "(plVar12 != (long *)0x0)" ( (binary_expression "plVar12 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(lVar10 != -1)" ( (binary_expression "lVar10 != -1" identifier != number_literal) ))) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" { (expression_statement "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (expression_statement "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);" (assignment_expression "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" identifier = (call_expression "FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" identifier (argument_list "(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" ( (pointer_expression "*(undefined8 *)(param_4 + 0x298)" * (cast_expression "(undefined8 *)(param_4 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x298)" ( (binary_expression "param_4 + 0x298" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar7 = auVar18._8_8_;" (assignment_expression "uVar7 = auVar18._8_8_" identifier = (field_expression "auVar18._8_8_" identifier . field_identifier)) ;) (expression_statement "plVar8 = auVar18._0_8_;" (assignment_expression "plVar8 = auVar18._0_8_" identifier = (field_expression "auVar18._0_8_" identifier . field_identifier)) ;) (if_statement "if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(plVar8 == (long *)0x0)" ( (binary_expression "plVar8 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" { (expression_statement "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x991,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" if (parenthesized_expression "(*(code **)(*plVar8 + 0xc0) == FUN_00168b20)" ( (binary_expression "*(code **)(*plVar8 + 0xc0) == FUN_00168b20" (pointer_expression "*(code **)(*plVar8 + 0xc0)" * (cast_expression "(code **)(*plVar8 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0xc0)" ( (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }" { (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" if (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff))" ( (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" ( (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar8[10]" identifier [ number_literal ])) >> number_literal) ))) <= (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" { (expression_statement "FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00199900("../../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 "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" identifier = (pointer_expression "*(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" * (cast_expression "(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar8[10] + (uVar7 & 0xffffffff) * 8)" ( (binary_expression "plVar8[10] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[10]" identifier [ number_literal ]) + (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) )) * number_literal)) ))))) ;) }) (else_clause "else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" else (compound_statement "{\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" { (expression_statement "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);" (assignment_expression "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" identifier = (cast_expression "(long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar8 + 0xc0))" ( (pointer_expression "**(code **)(*plVar8 + 0xc0)" * (pointer_expression "*(code **)(*plVar8 + 0xc0)" * (cast_expression "(code **)(*plVar8 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0xc0)" ( (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar7 & 0xffffffff)" ( identifier , (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))))) ;) }))) (if_statement "if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(plVar12 == (long *)0x0)" ( (binary_expression "plVar12 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" { (expression_statement "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x995,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" if (parenthesized_expression "((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff))" ( (binary_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0x1d] - plVar8[0x1c] >> 3)" ( (binary_expression "plVar8[0x1d] - plVar8[0x1c] >> 3" (binary_expression "plVar8[0x1d] - plVar8[0x1c]" (subscript_expression "plVar8[0x1d]" identifier [ number_literal ]) - (subscript_expression "plVar8[0x1c]" identifier [ number_literal ])) >> number_literal) ))) <= (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" { (expression_statement "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset")" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") ))) ;) })) (expression_statement "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" identifier = (pointer_expression "*(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" * (cast_expression "(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" ( (binary_expression "plVar8[0x1c] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[0x1c]" identifier [ number_literal ]) + (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" ( (binary_expression "uVar7 & 0xffffffff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" if (parenthesized_expression "(lVar10 == -1)" ( (binary_expression "lVar10 == -1" identifier == number_literal) )) (compound_statement "{\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" { (expression_statement "lVar10 = FUN_001f4890(plVar12,plVar8);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,plVar8)" identifier = (call_expression "FUN_001f4890(plVar12,plVar8)" identifier (argument_list "(plVar12,plVar8)" ( identifier , identifier )))) ;) (if_statement "if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" { (expression_statement "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) (if_statement "if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;" if (parenthesized_expression "(((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))" ( (binary_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" * (cast_expression "(byte *)(lVar10 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 0x20)" ( (binary_expression "lVar10 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = *(long *)(lVar10 + 8) - plVar12[1];" (assignment_expression "lVar10 = *(long *)(lVar10 + 8) - plVar12[1]" identifier = (binary_expression "*(long *)(lVar10 + 8) - plVar12[1]" (pointer_expression "*(long *)(lVar10 + 8)" * (cast_expression "(long *)(lVar10 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 8)" ( (binary_expression "lVar10 + 8" identifier + number_literal) )))) - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_001c9d89;" goto statement_identifier ;) })) (labeled_statement "LAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" statement_identifier : (if_statement "if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" if (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))))" ( (binary_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x20" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" ( (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" ( (binary_expression "(*(byte *)((long)plVar12 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)((long)plVar12 + 0x71) & 4)" ( (binary_expression "*(byte *)((long)plVar12 + 0x71) & 4" (pointer_expression "*(byte *)((long)plVar12 + 0x71)" * (cast_expression "(byte *)((long)plVar12 + 0x71)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar12 + 0x71)" ( (binary_expression "(long)plVar12 + 0x71" (cast_expression "(long)plVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }" { (if_statement "if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" { (labeled_statement "LAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");" statement_identifier : (expression_statement "FUN_00199900("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00199900("../../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 "lVar13 = plVar12[1];" (assignment_expression "lVar13 = plVar12[1]" identifier = (subscript_expression "plVar12[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n              lVar13 = 0;\n            }" else (compound_statement "{\n              lVar13 = 0;\n            }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }))) }) (else_clause "else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" else (if_statement "if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" if (parenthesized_expression "(*(code **)(*plVar12 + 0x90) == FUN_001c8ec0)" ( (binary_expression "*(code **)(*plVar12 + 0x90) == FUN_001c8ec0" (pointer_expression "*(code **)(*plVar12 + 0x90)" * (cast_expression "(code **)(*plVar12 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x90)" ( (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            lVar13 = plVar12[0x1a];\n          }" { (expression_statement "lVar13 = plVar12[0x1a];" (assignment_expression "lVar13 = plVar12[0x1a]" identifier = (subscript_expression "plVar12[0x1a]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" else (compound_statement "{\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" { (expression_statement "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);" (assignment_expression "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12)" identifier = (call_expression "(**(code **)(*plVar12 + 0x90))(plVar12)" (parenthesized_expression "(**(code **)(*plVar12 + 0x90))" ( (pointer_expression "**(code **)(*plVar12 + 0x90)" * (pointer_expression "*(code **)(*plVar12 + 0x90)" * (cast_expression "(code **)(*plVar12 + 0x90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar12 + 0x90)" ( (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" * identifier) + number_literal) ))))) )) (argument_list "(plVar12)" ( identifier )))) ;) })))))) (expression_statement "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = (binary_expression "*(long *)(piVar14 + 4) + lVar13 + lVar10" (binary_expression "*(long *)(piVar14 + 4) + lVar13" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) + identifier) + identifier)) ;) (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (goto_statement "goto joined_r0x001c9b73;" goto statement_identifier ;) })) (if_statement "if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" if (parenthesized_expression "(plVar12 != (long *)0x0)" ( (binary_expression "plVar12 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" { (labeled_statement "LAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;" statement_identifier : (if_statement "if (lVar10 != -1) goto LAB_001c9ca4;" if (parenthesized_expression "(lVar10 != -1)" ( (binary_expression "lVar10 != -1" identifier != number_literal) )) (goto_statement "goto LAB_001c9ca4;" goto statement_identifier ;))) (if_statement "if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" if (parenthesized_expression "((int)plVar12[0xf] != 0xf)" ( (binary_expression "(int)plVar12[0xf] != 0xf" (cast_expression "(int)plVar12[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar12[0xf]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" { (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" if (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" ( (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }" { (expression_statement "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));" (assignment_expression "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" identifier = (call_expression "FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" identifier (argument_list "(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined8 *)(piVar14 + 4)" * (cast_expression "(undefined8 *)(piVar14 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) )))) ;) (if_statement "if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" { (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" identifier = (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" statement_identifier : (if_statement "if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((bVar2 & 1) == 0)" ( (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;))) (expression_statement "lVar10 = lVar10 - plVar12[1];" (assignment_expression "lVar10 = lVar10 - plVar12[1]" identifier = (binary_expression "lVar10 - plVar12[1]" identifier - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) })) }) (else_clause "else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" else (compound_statement "{\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" { (expression_statement "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);" (assignment_expression "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40)" identifier = (call_expression "FUN_001eec30(plVar12,param_1,uVar15,local_40)" identifier (argument_list "(plVar12,param_1,uVar15,local_40)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" { (expression_statement "lVar10 = local_40[0];" (assignment_expression "lVar10 = local_40[0]" identifier = (subscript_expression "local_40[0]" identifier [ number_literal ])) ;) (if_statement "if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = local_40[0] - plVar12[1];" (assignment_expression "lVar10 = local_40[0] - plVar12[1]" identifier = (binary_expression "local_40[0] - plVar12[1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) - (subscript_expression "plVar12[1]" identifier [ number_literal ]))) ;) })) (expression_statement "uVar9 = *(undefined8 *)(piVar14 + 4);" (assignment_expression "uVar9 = *(undefined8 *)(piVar14 + 4)" identifier = (pointer_expression "*(undefined8 *)(piVar14 + 4)" * (cast_expression "(undefined8 *)(piVar14 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = (undefined8 *)FUN_002a11b0(0x48);" (assignment_expression "puVar11 = (undefined8 *)FUN_002a11b0(0x48)" identifier = (cast_expression "(undefined8 *)FUN_002a11b0(0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002a11b0(0x48)" identifier (argument_list "(0x48)" ( number_literal ))))) ;) (expression_statement "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(puVar11 + 6)" * (cast_expression "(undefined1 (*) [16])(puVar11 + 6)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*puVar11 = uVar9;" (assignment_expression "*puVar11 = uVar9" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar11[2] = puVar11 + 8;" (assignment_expression "puVar11[2] = puVar11 + 8" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "puVar11 + 8" identifier + number_literal)) ;) (expression_statement "bVar2 = *(byte *)((long)piVar14 + 0xb);" (assignment_expression "bVar2 = *(byte *)((long)piVar14 + 0xb)" identifier = (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar11[1] = lVar10;" (assignment_expression "puVar11[1] = lVar10" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[3] = 1;" (assignment_expression "puVar11[3] = 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[4] = 0;" (assignment_expression "puVar11[4] = 0" (subscript_expression "puVar11[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[5] = 0;" (assignment_expression "puVar11[5] = 0" (subscript_expression "puVar11[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar11 + 6) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar11 + 6) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar11 + 6)" * (cast_expression "(undefined4 *)(puVar11 + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[7] = 0;" (assignment_expression "puVar11[7] = 0" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" { (expression_statement "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");" (call_expression "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value")" identifier (argument_list "("../../gold/object.h",0x6bb,"set_merged_symbol_value")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_merged_symbol_value"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(piVar14 + 4) = puVar11;" (assignment_expression "*(undefined8 **)(piVar14 + 4) = puVar11" (pointer_expression "*(undefined8 **)(piVar14 + 4)" * (cast_expression "(undefined8 **)(piVar14 + 4)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;" (assignment_expression "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" * (cast_expression "(byte *)((long)piVar14 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "bVar2 & 0x7f" identifier & number_literal)) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (expression_statement "lVar10 = FUN_001f4890(plVar12,param_1,uVar15);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,param_1,uVar15)" identifier = (call_expression "FUN_001f4890(plVar12,param_1,uVar15)" identifier (argument_list "(plVar12,param_1,uVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }" { (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" ( (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = plVar12[1];" (assignment_expression "lVar10 = plVar12[1]" identifier = (subscript_expression "plVar12[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" else (compound_statement "{\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" { (if_statement "if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;" if (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" * (cast_expression "(byte *)(lVar10 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 0x20)" ( (binary_expression "lVar10 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001c9fb7;" goto statement_identifier ;)) (expression_statement "lVar10 = *(long *)(lVar10 + 8);" (assignment_expression "lVar10 = *(long *)(lVar10 + 8)" identifier = (pointer_expression "*(long *)(lVar10 + 8)" * (cast_expression "(long *)(lVar10 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar10 + 8)" ( (binary_expression "lVar10 + 8" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" { (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" identifier = (pointer_expression "*(byte *)(plVar12 + 4)" * (cast_expression "(byte *)(plVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar12 + 4)" ( (binary_expression "plVar12 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x001c9fb1;" goto statement_identifier ;) })) }))) }))) (expression_statement "*(long *)(piVar14 + 4) = lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = lVar10" (pointer_expression "*(long *)(piVar14 + 4)" * (cast_expression "(long *)(piVar14 + 4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 4)" ( (binary_expression "piVar14 + 4" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_001c9b6f;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" if (parenthesized_expression "(*(char *)(param_1 + 0x1e0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1e0)" * (cast_expression "(char *)(param_1 + 0x1e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" { (expression_statement "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })) })) }) (else_clause "else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" else (compound_statement "{\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" { (expression_statement "uVar9 = gettext("local symbol %u section index %u out of range");" (assignment_expression "uVar9 = gettext("local symbol %u section index %u out of range")" identifier = (call_expression "gettext("local symbol %u section index %u out of range")" identifier (argument_list "("local symbol %u section index %u out of range")" ( (string_literal ""local symbol %u section index %u out of range"" " string_content ") )))) ;) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" identifier = identifier) ;) (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" identifier = identifier) ;) (labeled_statement "LAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" statement_identifier : (expression_statement "FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" (call_expression "FUN_001c7b60(param_1,uVar9,uVar15,uVar5)" identifier (argument_list "(param_1,uVar9,uVar15,uVar5)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "piVar14[4] = 0;" (assignment_expression "piVar14[4] = 0" (subscript_expression "piVar14[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar14[5] = 0;" (assignment_expression "piVar14[5] = 0" (subscript_expression "piVar14[5]" identifier [ number_literal ]) = number_literal) ;) }))))) (if_statement "if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }" if (parenthesized_expression "(uVar3 == uVar16 + 1)" ( (binary_expression "uVar3 == uVar16 + 1" identifier == (binary_expression "uVar16 + 1" identifier + number_literal)) )) (compound_statement "{\n        return local_58;\n      }" { (return_statement "return local_58;" return identifier ;) })) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17)" identifier = (cast_expression "(int *)(*(long *)(param_1 + 0x160) + lVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x160) + lVar17)" ( (binary_expression "*(long *)(param_1 + 0x160) + lVar17" (pointer_expression "*(long *)(param_1 + 0x160)" * (cast_expression "(long *)(param_1 + 0x160)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "lVar17 = lVar17 + 0x18;" (assignment_expression "lVar17 = lVar17 + 0x18" identifier = (binary_expression "lVar17 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(char *)((long)piVar14 + 0xb) < '\0')" ( (binary_expression "*(char *)((long)piVar14 + 0xb) < '\0'" (pointer_expression "*(char *)((long)piVar14 + 0xb)" * (cast_expression "(char *)((long)piVar14 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar14 + 0xb)" ( (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" identifier (argument_list "("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""compute_final_local_value_internal"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & 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 (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (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 (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (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 = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (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 * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 ") ))) ;) })) (if_statement if (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 ( (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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 (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) || (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 (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 { (labeled_statement statement_identifier : (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 ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (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 = (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != LIT) )) (compound_statement { (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 (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_array_declarator (abstract_parenthesized_declarator ( (abstract_pointer_declarator *) )) [ LIT ])) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_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 (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , 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 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 (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (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 = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "int FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    \n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" (primitive_type "int") (function_declarator "FUN_001c9ac0(long param_1,int param_2,ulong param_3,long param_4)" (identifier "FUN_001c9ac0") (parameter_list "(long param_1,int param_2,ulong param_3,long param_4)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "ulong param_3" (type_identifier "ulong") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) () ")"))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  char cVar6;\n  ulong uVar7;\n  long *plVar8;\n  undefined8 uVar9;\n  long lVar10;\n  undefined8 *puVar11;\n  long *plVar12;\n  long lVar13;\n  int *piVar14;\n  uint uVar15;\n  uint uVar16;\n  long lVar17;\n  undefined1 auVar18 [16];\n  int local_58;\n  long local_40 [2];\n  \n  uVar7 = param_3 + 7 & 0xfffffffffffffff8;\n  if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }\n  *(ulong *)(param_1 + 0x150) = uVar7;\n  uVar3 = *(uint *)(param_1 + 0x120);\n  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);\n  if (uVar3 < 2) {\n    return param_2;\n  }\n  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);\n  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }\n                    \n  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "long *plVar8;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar8" (* "*") (identifier "plVar8")) (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "long lVar10;" (sized_type_specifier "long" (long "long")) (identifier "lVar10") (; ";")) (declaration "undefined8 *puVar11;" (type_identifier "undefined8") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "long *plVar12;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar12" (* "*") (identifier "plVar12")) (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "long lVar17;" (sized_type_specifier "long" (long "long")) (identifier "lVar17") (; ";")) (declaration "undefined1 auVar18 [16];" (type_identifier "undefined1") (array_declarator "auVar18 [16]" (identifier "auVar18") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "long local_40 [2];" (sized_type_specifier "long" (long "long")) (array_declarator "local_40 [2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (; ";")) (expression_statement "uVar7 = param_3 + 7 & 0xfffffffffffffff8;" (assignment_expression "uVar7 = param_3 + 7 & 0xfffffffffffffff8" (identifier "uVar7") (= "=") (binary_expression "param_3 + 7 & 0xfffffffffffffff8" (binary_expression "param_3 + 7" (identifier "param_3") (+ "+") (number_literal "7")) (& "&") (number_literal "0xfffffffffffffff8"))) (; ";")) (if_statement "if (uVar7 != param_3) {\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" (if "if") (parenthesized_expression "(uVar7 != param_3)" (( "(") (binary_expression "uVar7 != param_3" (identifier "uVar7") (!= "!=") (identifier "param_3")) () ")")) (compound_statement "{\n                    \n    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");\n  }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");" (call_expression "FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0xa1a,"do_finalize_local_symbols")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0xa1a") (, ",") (string_literal ""do_finalize_local_symbols"" (" """) (string_content "do_finalize_local_symbols") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(ulong *)(param_1 + 0x150) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 0x150) = uVar7" (pointer_expression "*(ulong *)(param_1 + 0x150)" (* "*") (cast_expression "(ulong *)(param_1 + 0x150)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x150)" (( "(") (binary_expression "param_1 + 0x150" (identifier "param_1") (+ "+") (number_literal "0x150")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar3 = *(uint *)(param_1 + 0x120);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x120)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(param_1 + 0x120)" (* "*") (cast_expression "(uint *)(param_1 + 0x120)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x120)" (( "(") (binary_expression "param_1 + 0x120" (identifier "param_1") (+ "+") (number_literal "0x120")) () ")"))))) (; ";")) (if_statement "if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00199900("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "FUN_00199900("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00199900("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00199900") (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") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051)" (( "(") (binary_expression "*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_003f85c0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_003f85c0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_003f85c0 + 0x10)" (( "(") (binary_expression "PTR_DAT_003f85c0 + 0x10" (identifier "PTR_DAT_003f85c0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x5051")) () ")"))))) (; ";")) (if_statement "if (uVar3 < 2) {\n    return param_2;\n  }" (if "if") (parenthesized_expression "(uVar3 < 2)" (( "(") (binary_expression "uVar3 < 2" (identifier "uVar3") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    return param_2;\n  }" ({ "{") (return_statement "return param_2;" (return "return") (identifier "param_2") (; ";")) (} "}"))) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(long *)(param_1 + 0x160) + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 0x160) + 0x18" (pointer_expression "*(long *)(param_1 + 0x160)" (* "*") (cast_expression "(long *)(param_1 + 0x160)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0')" (( "(") (binary_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0'" (pointer_expression "*(char *)(*(long *)(param_1 + 0x160) + 0x23)" (* "*") (cast_expression "(char *)(*(long *)(param_1 + 0x160) + 0x23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x160) + 0x23)" (( "(") (binary_expression "*(long *)(param_1 + 0x160) + 0x23" (pointer_expression "*(long *)(param_1 + 0x160)" (* "*") (cast_expression "(long *)(param_1 + 0x160)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (+ "+") (number_literal "0x23")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar16 = 1;\n    lVar17 = 0x30;\n    local_58 = param_2;\n    do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');\n  }" ({ "{") (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";")) (expression_statement "lVar17 = 0x30;" (assignment_expression "lVar17 = 0x30" (identifier "lVar17") (= "=") (number_literal "0x30")) (; ";")) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" (identifier "local_58") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    } while (*(char *)((long)piVar14 + 0xb) < '\0');" (do "do") (compound_statement "{\n      uVar15 = piVar14[2] & 0x7ffffff;\n      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }\n      if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }\n      uVar16 = uVar16 + 1;\n      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);\n      lVar17 = lVar17 + 0x18;\n    }" ({ "{") (expression_statement "uVar15 = piVar14[2] & 0x7ffffff;" (assignment_expression "uVar15 = piVar14[2] & 0x7ffffff" (identifier "uVar15") (= "=") (binary_expression "piVar14[2] & 0x7ffffff" (subscript_expression "piVar14[2]" (identifier "piVar14") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0x7ffffff"))) (; ";")) (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }\n      else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" (if "if") (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)((long)piVar14 + 0xb) & 8" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }\nLAB_001c9b6f:\n        iVar4 = *piVar14;\njoined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }\n      }" ({ "{") (if_statement "if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" (if "if") (parenthesized_expression "((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'))" (( "(") (binary_expression "(uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" (parenthesized_expression "(uVar15 != 0xfff1)" (( "(") (binary_expression "uVar15 != 0xfff1" (identifier "uVar15") (!= "!=") (number_literal "0xfff1")) () ")")) (&& "&&") (parenthesized_expression "(cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')" (( "(") (comma_expression "cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0'" (assignment_expression "cVar6 = FUN_0024aae0(uVar15)" (identifier "cVar6") (= "=") (call_expression "FUN_0024aae0(uVar15)" (identifier "FUN_0024aae0") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")")))) (, ",") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          uVar9 = gettext("unknown section index %u for local symbol %u");\n          uVar5 = uVar16;\n          goto LAB_001c9d61;\n        }" ({ "{") (expression_statement "uVar9 = gettext("unknown section index %u for local symbol %u");" (assignment_expression "uVar9 = gettext("unknown section index %u for local symbol %u")" (identifier "uVar9") (= "=") (call_expression "gettext("unknown section index %u for local symbol %u")" (identifier "gettext") (argument_list "("unknown section index %u for local symbol %u")" (( "(") (string_literal ""unknown section index %u for local symbol %u"" (" """) (string_content "unknown section index %u for local symbol %u") (" """)) () ")")))) (; ";")) (expression_statement "uVar5 = uVar16;" (assignment_expression "uVar5 = uVar16" (identifier "uVar5") (= "=") (identifier "uVar16")) (; ";")) (goto_statement "goto LAB_001c9d61;" (goto "goto") (statement_identifier "LAB_001c9d61") (; ";")) (} "}"))) (labeled_statement "LAB_001c9b6f:\n        iVar4 = *piVar14;" (statement_identifier "LAB_001c9b6f") (: ":") (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" (identifier "iVar4") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";"))) (labeled_statement "joined_r0x001c9b73:\n        if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" (statement_identifier "joined_r0x001c9b73") (: ":") (if_statement "if ((iVar4 == 0) || (iVar4 == -2)) {\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" (if "if") (parenthesized_expression "((iVar4 == 0) || (iVar4 == -2))" (( "(") (binary_expression "(iVar4 == 0) || (iVar4 == -2)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 == -2)" (( "(") (binary_expression "iVar4 == -2" (identifier "iVar4") (== "==") (number_literal "-2")) () ")"))) () ")")) (compound_statement "{\n          if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }\n          *piVar14 = local_58;\n          local_58 = local_58 + 1;\n        }" ({ "{") (if_statement "if (0xfffffffc < local_58 - 1U) {\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" (if "if") (parenthesized_expression "(0xfffffffc < local_58 - 1U)" (( "(") (binary_expression "0xfffffffc < local_58 - 1U" (number_literal "0xfffffffc") (< "<") (binary_expression "local_58 - 1U" (identifier "local_58") (- "-") (number_literal "1U"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index")" (identifier "FUN_00199900") (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x70d") (, ",") (string_literal ""set_output_symtab_index"" (" """) (string_content "set_output_symtab_index") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar14 = local_58;" (assignment_expression "*piVar14 = local_58" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "local_58 = local_58 + 1;" (assignment_expression "local_58 = local_58 + 1" (identifier "local_58") (= "=") (binary_expression "local_58 + 1" (identifier "local_58") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" (else "else") (if_statement "if (uVar15 < *(uint *)(param_1 + 0x38)) {\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }\n      else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" (if "if") (parenthesized_expression "(uVar15 < *(uint *)(param_1 + 0x38))" (( "(") (binary_expression "uVar15 < *(uint *)(param_1 + 0x38)" (identifier "uVar15") (< "<") (pointer_expression "*(uint *)(param_1 + 0x38)" (* "*") (cast_expression "(uint *)(param_1 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\n        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);\n        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);\n        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);\n        if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }\n        if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }\n      }" ({ "{") (expression_statement "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);" (assignment_expression "plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" (identifier "plVar12") (= "=") (pointer_expression "*(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" (* "*") (cast_expression "(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);" (assignment_expression "lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" (identifier "lVar10") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8" (pointer_expression "*(long *)(param_1 + 0xe0)" (* "*") (cast_expression "(long *)(param_1 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")")))) (+ "+") (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "cVar6 = FUN_0024ae80(param_4,param_1,uVar15);" (assignment_expression "cVar6 = FUN_0024ae80(param_4,param_1,uVar15)" (identifier "cVar6") (= "=") (call_expression "FUN_0024ae80(param_4,param_1,uVar15)" (identifier "FUN_0024ae80") (argument_list "(param_4,param_1,uVar15)" (( "(") (identifier "param_4") (, ",") (identifier "param_1") (, ",") (identifier "uVar15") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') {\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }\n          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);\n          uVar7 = auVar18._8_8_;\n          plVar8 = auVar18._0_8_;\n          if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }\n          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }\n          if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }\n          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }\n          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);\n          if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }\nLAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }\n          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;\n          iVar4 = *piVar14;\n          goto joined_r0x001c9b73;\n        }" ({ "{") (if_statement "if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" (if "if") (parenthesized_expression "((plVar12 != (long *)0x0) || (lVar10 != -1))" (( "(") (binary_expression "(plVar12 != (long *)0x0) || (lVar10 != -1)" (parenthesized_expression "(plVar12 != (long *)0x0)" (( "(") (binary_expression "plVar12 != (long *)0x0" (identifier "plVar12") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(lVar10 != -1)" (( "(") (binary_expression "lVar10 != -1" (identifier "lVar10") (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x98d,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x98d") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);" (assignment_expression "auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" (identifier "auVar18") (= "=") (call_expression "FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" (identifier "FUN_0019c910") (argument_list "(*(undefined8 *)(param_4 + 0x298),param_1,uVar15)" (( "(") (pointer_expression "*(undefined8 *)(param_4 + 0x298)" (* "*") (cast_expression "(undefined8 *)(param_4 + 0x298)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x298)" (( "(") (binary_expression "param_4 + 0x298" (identifier "param_4") (+ "+") (number_literal "0x298")) () ")")))) (, ",") (identifier "param_1") (, ",") (identifier "uVar15") () ")")))) (; ";")) (expression_statement "uVar7 = auVar18._8_8_;" (assignment_expression "uVar7 = auVar18._8_8_" (identifier "uVar7") (= "=") (field_expression "auVar18._8_8_" (identifier "auVar18") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "plVar8 = auVar18._0_8_;" (assignment_expression "plVar8 = auVar18._0_8_" (identifier "plVar8") (= "=") (field_expression "auVar18._0_8_" (identifier "auVar18") (. ".") (field_identifier "_0_8_"))) (; ";")) (if_statement "if (plVar8 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" (if "if") (parenthesized_expression "(plVar8 == (long *)0x0)" (( "(") (binary_expression "plVar8 == (long *)0x0" (identifier "plVar8") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x991,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x991") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }\n          else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar8 + 0xc0) == FUN_00168b20)" (( "(") (binary_expression "*(code **)(*plVar8 + 0xc0) == FUN_00168b20" (pointer_expression "*(code **)(*plVar8 + 0xc0)" (* "*") (cast_expression "(code **)(*plVar8 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0xc0)" (( "(") (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0xc0")) () ")")))) (== "==") (identifier "FUN_00168b20")) () ")")) (compound_statement "{\n            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }\n            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);\n          }" ({ "{") (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" (if "if") (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff))" (( "(") (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" (( "(") (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" (identifier "plVar8") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "plVar8[10]" (identifier "plVar8") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (parenthesized_expression "(uVar7 & 0xffffffff)" (( "(") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");\n            }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00199900("../../gold/object.h",0x5c8,"do_output_section")" (identifier "FUN_00199900") (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5c8") (, ",") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" (identifier "plVar12") (= "=") (pointer_expression "*(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" (* "*") (cast_expression "(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(plVar8[10] + (uVar7 & 0xffffffff) * 8)" (( "(") (binary_expression "plVar8[10] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[10]" (identifier "plVar8") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" (( "(") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff")) () ")")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" (else "else") (compound_statement "{\n            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);\n          }" ({ "{") (expression_statement "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);" (assignment_expression "plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" (identifier "plVar12") (= "=") (cast_expression "(long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar8 + 0xc0))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0xc0)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0xc0)" (* "*") (cast_expression "(code **)(*plVar8 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0xc0)" (( "(") (binary_expression "*plVar8 + 0xc0" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0xc0")) () ")"))))) () ")")) (argument_list "(plVar8,uVar7 & 0xffffffff)" (( "(") (identifier "plVar8") (, ",") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (plVar12 == (long *)0x0) {\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" (if "if") (parenthesized_expression "(plVar12 == (long *)0x0)" (( "(") (binary_expression "plVar12 == (long *)0x0" (identifier "plVar12") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x995,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x995") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" (if "if") (parenthesized_expression "((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff))" (( "(") (binary_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)" (call_expression "(ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar8[0x1d] - plVar8[0x1c] >> 3)" (( "(") (binary_expression "plVar8[0x1d] - plVar8[0x1c] >> 3" (binary_expression "plVar8[0x1d] - plVar8[0x1c]" (subscript_expression "plVar8[0x1d]" (identifier "plVar8") ([ "[") (number_literal "0x1d") (] "]")) (- "-") (subscript_expression "plVar8[0x1c]" (identifier "plVar8") ([ "[") (number_literal "0x1c") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (parenthesized_expression "(uVar7 & 0xffffffff)" (( "(") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset")" (identifier "FUN_00199900") (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x7f7") (, ",") (string_literal ""get_output_section_offset"" (" """) (string_content "get_output_section_offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);" (assignment_expression "lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" (identifier "lVar10") (= "=") (pointer_expression "*(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" (* "*") (cast_expression "(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8)" (( "(") (binary_expression "plVar8[0x1c] + (uVar7 & 0xffffffff) * 8" (subscript_expression "plVar8[0x1c]" (identifier "plVar8") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (binary_expression "(uVar7 & 0xffffffff) * 8" (parenthesized_expression "(uVar7 & 0xffffffff)" (( "(") (binary_expression "uVar7 & 0xffffffff" (identifier "uVar7") (& "&") (number_literal "0xffffffff")) () ")")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar10 == -1) {\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" (if "if") (parenthesized_expression "(lVar10 == -1)" (( "(") (binary_expression "lVar10 == -1" (identifier "lVar10") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            lVar10 = FUN_001f4890(plVar12,plVar8);\n            if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }\n            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;\n            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];\n            goto LAB_001c9d89;\n          }" ({ "{") (expression_statement "lVar10 = FUN_001f4890(plVar12,plVar8);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,plVar8)" (identifier "lVar10") (= "=") (call_expression "FUN_001f4890(plVar12,plVar8)" (identifier "FUN_001f4890") (argument_list "(plVar12,plVar8)" (( "(") (identifier "plVar12") (, ",") (identifier "plVar8") () ")")))) (; ";")) (if_statement "if (lVar10 == 0) {\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" (if "if") (parenthesized_expression "(lVar10 == 0)" (( "(") (binary_expression "lVar10 == 0" (identifier "lVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");\n            }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x99d,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x99d") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))\n            goto LAB_001c9fb7;" (if "if") (parenthesized_expression "(((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))" (( "(") (binary_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0)" (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" (* "*") (cast_expression "(byte *)(lVar10 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar10 + 0x20)" (( "(") (binary_expression "lVar10 + 0x20" (identifier "lVar10") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" (( "(") (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001c9fb7;" (goto "goto") (statement_identifier "LAB_001c9fb7") (; ";"))) (expression_statement "lVar10 = *(long *)(lVar10 + 8) - plVar12[1];" (assignment_expression "lVar10 = *(long *)(lVar10 + 8) - plVar12[1]" (identifier "lVar10") (= "=") (binary_expression "*(long *)(lVar10 + 8) - plVar12[1]" (pointer_expression "*(long *)(lVar10 + 8)" (* "*") (cast_expression "(long *)(lVar10 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar10 + 8)" (( "(") (binary_expression "lVar10 + 8" (identifier "lVar10") (+ "+") (number_literal "8")) () ")")))) (- "-") (subscript_expression "plVar12[1]" (identifier "plVar12") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_001c9d89;" (goto "goto") (statement_identifier "LAB_001c9d89") (; ";")) (} "}"))) (labeled_statement "LAB_001c9ca4:\n          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" (statement_identifier "LAB_001c9ca4") (: ":") (if_statement "if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }\n          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" (if "if") (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))))" (( "(") (binary_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&\n             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x20)" (( "(") (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x20" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))" (( "(") (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0))" (( "(") (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||\n              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" (( "(") (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)((long)plVar12 + 0x71) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((long)plVar12 + 0x71) & 4) == 0" (parenthesized_expression "(*(byte *)((long)plVar12 + 0x71) & 4)" (( "(") (binary_expression "*(byte *)((long)plVar12 + 0x71) & 4" (pointer_expression "*(byte *)((long)plVar12 + 0x71)" (* "*") (cast_expression "(byte *)((long)plVar12 + 0x71)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar12 + 0x71)" (( "(") (binary_expression "(long)plVar12 + 0x71" (cast_expression "(long)plVar12" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar12")) (+ "+") (number_literal "0x71")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }\n          }" ({ "{") (if_statement "if (cVar1 == '\0') {\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }\n            else {\n              lVar13 = 0;\n            }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }\n              lVar13 = plVar12[1];\n            }" ({ "{") (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) {\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" (if "if") (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" (( "(") (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");\n              }" ({ "{") (labeled_statement "LAB_001c9fb7:\n                    \n                FUN_00199900("../../gold/output.h",0xc5,"address");" (statement_identifier "LAB_001c9fb7") (: ":") (expression_statement "FUN_00199900("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00199900("../../gold/output.h",0xc5,"address")" (identifier "FUN_00199900") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "lVar13 = plVar12[1];" (assignment_expression "lVar13 = plVar12[1]" (identifier "lVar13") (= "=") (subscript_expression "plVar12[1]" (identifier "plVar12") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n              lVar13 = 0;\n            }" (else "else") (compound_statement "{\n              lVar13 = 0;\n            }" ({ "{") (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" (else "else") (if_statement "if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {\n            lVar13 = plVar12[0x1a];\n          }\n          else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar12 + 0x90) == FUN_001c8ec0)" (( "(") (binary_expression "*(code **)(*plVar12 + 0x90) == FUN_001c8ec0" (pointer_expression "*(code **)(*plVar12 + 0x90)" (* "*") (cast_expression "(code **)(*plVar12 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x90)" (( "(") (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x90")) () ")")))) (== "==") (identifier "FUN_001c8ec0")) () ")")) (compound_statement "{\n            lVar13 = plVar12[0x1a];\n          }" ({ "{") (expression_statement "lVar13 = plVar12[0x1a];" (assignment_expression "lVar13 = plVar12[0x1a]" (identifier "lVar13") (= "=") (subscript_expression "plVar12[0x1a]" (identifier "plVar12") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" (else "else") (compound_statement "{\n            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);\n          }" ({ "{") (expression_statement "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);" (assignment_expression "lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12)" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*plVar12 + 0x90))(plVar12)" (parenthesized_expression "(**(code **)(*plVar12 + 0x90))" (( "(") (pointer_expression "**(code **)(*plVar12 + 0x90)" (* "*") (pointer_expression "*(code **)(*plVar12 + 0x90)" (* "*") (cast_expression "(code **)(*plVar12 + 0x90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar12 + 0x90)" (( "(") (binary_expression "*plVar12 + 0x90" (pointer_expression "*plVar12" (* "*") (identifier "plVar12")) (+ "+") (number_literal "0x90")) () ")"))))) () ")")) (argument_list "(plVar12)" (( "(") (identifier "plVar12") () ")")))) (; ";")) (} "}"))))))) (expression_statement "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10" (pointer_expression "*(long *)(piVar14 + 4)" (* "*") (cast_expression "(long *)(piVar14 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(long *)(piVar14 + 4) + lVar13 + lVar10" (binary_expression "*(long *)(piVar14 + 4) + lVar13" (pointer_expression "*(long *)(piVar14 + 4)" (* "*") (cast_expression "(long *)(piVar14 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")")))) (+ "+") (identifier "lVar13")) (+ "+") (identifier "lVar10"))) (; ";")) (expression_statement "iVar4 = *piVar14;" (assignment_expression "iVar4 = *piVar14" (identifier "iVar4") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (goto_statement "goto joined_r0x001c9b73;" (goto "goto") (statement_identifier "joined_r0x001c9b73") (; ";")) (} "}"))) (if_statement "if (plVar12 != (long *)0x0) {\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" (if "if") (parenthesized_expression "(plVar12 != (long *)0x0)" (( "(") (binary_expression "plVar12 != (long *)0x0" (identifier "plVar12") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;\n          if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }\n          if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }\n        }" ({ "{") (labeled_statement "LAB_001c9d89:\n          if (lVar10 != -1) goto LAB_001c9ca4;" (statement_identifier "LAB_001c9d89") (: ":") (if_statement "if (lVar10 != -1) goto LAB_001c9ca4;" (if "if") (parenthesized_expression "(lVar10 != -1)" (( "(") (binary_expression "lVar10 != -1" (identifier "lVar10") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_001c9ca4;" (goto "goto") (statement_identifier "LAB_001c9ca4") (; ";")))) (if_statement "if ((int)plVar12[0xf] != 0xf) {\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" (if "if") (parenthesized_expression "((int)plVar12[0xf] != 0xf)" (( "(") (binary_expression "(int)plVar12[0xf] != 0xf" (cast_expression "(int)plVar12[0xf]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar12[0xf]" (identifier "plVar12") ([ "[") (number_literal "0xf") (] "]"))) (!= "!=") (number_literal "0xf")) () ")")) (compound_statement "{\n            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }\n            *(long *)(piVar14 + 4) = lVar10;\n            goto LAB_001c9b6f;\n          }" ({ "{") (if_statement "if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }\n            else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)piVar14 + 0xb) & 0x10)" (( "(") (binary_expression "*(byte *)((long)piVar14 + 0xb) & 0x10" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));\n              if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }\n            }" ({ "{") (expression_statement "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));" (assignment_expression "lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" (identifier "lVar10") (= "=") (call_expression "FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" (identifier "FUN_001f4b80") (argument_list "(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4))" (( "(") (identifier "plVar12") (, ",") (identifier "param_1") (, ",") (identifier "uVar15") (, ",") (pointer_expression "*(undefined8 *)(piVar14 + 4)" (* "*") (cast_expression "(undefined8 *)(piVar14 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (if_statement "if (cVar1 != '\0') {\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                bVar2 = *(byte *)(plVar12 + 4);\njoined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = lVar10 - plVar12[1];\n              }" ({ "{") (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (labeled_statement "joined_r0x001c9fb1:\n                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" (statement_identifier "joined_r0x001c9fb1") (: ":") (if_statement "if ((bVar2 & 1) == 0) goto LAB_001c9fb7;" (if "if") (parenthesized_expression "((bVar2 & 1) == 0)" (( "(") (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c9fb7;" (goto "goto") (statement_identifier "LAB_001c9fb7") (; ";")))) (expression_statement "lVar10 = lVar10 - plVar12[1];" (assignment_expression "lVar10 = lVar10 - plVar12[1]" (identifier "lVar10") (= "=") (binary_expression "lVar10 - plVar12[1]" (identifier "lVar10") (- "-") (subscript_expression "plVar12[1]" (identifier "plVar12") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);\n              if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }\n              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);\n              if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }\n            }" ({ "{") (expression_statement "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);" (assignment_expression "cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40)" (identifier "cVar6") (= "=") (call_expression "FUN_001eec30(plVar12,param_1,uVar15,local_40)" (identifier "FUN_001eec30") (argument_list "(plVar12,param_1,uVar15,local_40)" (( "(") (identifier "plVar12") (, ",") (identifier "param_1") (, ",") (identifier "uVar15") (, ",") (identifier "local_40") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') {\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                lVar10 = local_40[0];\n                if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }\n                uVar9 = *(undefined8 *)(piVar14 + 4);\n                puVar11 = (undefined8 *)FUN_002a11b0(0x48);\n                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;\n                *puVar11 = uVar9;\n                puVar11[2] = puVar11 + 8;\n                bVar2 = *(byte *)((long)piVar14 + 0xb);\n                puVar11[1] = lVar10;\n                puVar11[8] = 0;\n                puVar11[3] = 1;\n                puVar11[4] = 0;\n                puVar11[5] = 0;\n                *(undefined4 *)(puVar11 + 6) = 0x3f800000;\n                puVar11[7] = 0;\n                if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }\n                *(undefined8 **)(piVar14 + 4) = puVar11;\n                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;\n                goto LAB_001c9b6f;\n              }" ({ "{") (expression_statement "lVar10 = local_40[0];" (assignment_expression "lVar10 = local_40[0]" (identifier "lVar10") (= "=") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (cVar1 != '\0') {\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                  lVar10 = local_40[0] - plVar12[1];\n                }" ({ "{") (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" (if "if") (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" (( "(") (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c9fb7;" (goto "goto") (statement_identifier "LAB_001c9fb7") (; ";"))) (expression_statement "lVar10 = local_40[0] - plVar12[1];" (assignment_expression "lVar10 = local_40[0] - plVar12[1]" (identifier "lVar10") (= "=") (binary_expression "local_40[0] - plVar12[1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (- "-") (subscript_expression "plVar12[1]" (identifier "plVar12") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (expression_statement "uVar9 = *(undefined8 *)(piVar14 + 4);" (assignment_expression "uVar9 = *(undefined8 *)(piVar14 + 4)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined8 *)(piVar14 + 4)" (* "*") (cast_expression "(undefined8 *)(piVar14 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar11 = (undefined8 *)FUN_002a11b0(0x48);" (assignment_expression "puVar11 = (undefined8 *)FUN_002a11b0(0x48)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)FUN_002a11b0(0x48)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002a11b0(0x48)" (identifier "FUN_002a11b0") (argument_list "(0x48)" (( "(") (number_literal "0x48") () ")"))))) (; ";")) (expression_statement "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(puVar11 + 6)" (* "*") (cast_expression "(undefined1 (*) [16])(puVar11 + 6)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(puVar11 + 6)" (( "(") (binary_expression "puVar11 + 6" (identifier "puVar11") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*puVar11 = uVar9;" (assignment_expression "*puVar11 = uVar9" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar11[2] = puVar11 + 8;" (assignment_expression "puVar11[2] = puVar11 + 8" (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar11 + 8" (identifier "puVar11") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "bVar2 = *(byte *)((long)piVar14 + 0xb);" (assignment_expression "bVar2 = *(byte *)((long)piVar14 + 0xb)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")"))))) (; ";")) (expression_statement "puVar11[1] = lVar10;" (assignment_expression "puVar11[1] = lVar10" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lVar10")) (; ";")) (expression_statement "puVar11[8] = 0;" (assignment_expression "puVar11[8] = 0" (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[3] = 1;" (assignment_expression "puVar11[3] = 1" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar11[4] = 0;" (assignment_expression "puVar11[4] = 0" (subscript_expression "puVar11[4]" (identifier "puVar11") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[5] = 0;" (assignment_expression "puVar11[5] = 0" (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar11 + 6) = 0x3f800000;" (assignment_expression "*(undefined4 *)(puVar11 + 6) = 0x3f800000" (pointer_expression "*(undefined4 *)(puVar11 + 6)" (* "*") (cast_expression "(undefined4 *)(puVar11 + 6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 6)" (( "(") (binary_expression "puVar11 + 6" (identifier "puVar11") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "puVar11[7] = 0;" (assignment_expression "puVar11[7] = 0" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((bVar2 & 0x10) == 0) {\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" (if "if") (parenthesized_expression "((bVar2 & 0x10) == 0)" (( "(") (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" (( "(") (binary_expression "bVar2 & 0x10" (identifier "bVar2") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");\n                }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");" (call_expression "FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value")" (identifier "FUN_00199900") (argument_list "("../../gold/object.h",0x6bb,"set_merged_symbol_value")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x6bb") (, ",") (string_literal ""set_merged_symbol_value"" (" """) (string_content "set_merged_symbol_value") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 **)(piVar14 + 4) = puVar11;" (assignment_expression "*(undefined8 **)(piVar14 + 4) = puVar11" (pointer_expression "*(undefined8 **)(piVar14 + 4)" (* "*") (cast_expression "(undefined8 **)(piVar14 + 4)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;" (assignment_expression "*(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f" (pointer_expression "*(byte *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(byte *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "bVar2 & 0x7f" (identifier "bVar2") (& "&") (number_literal "0x7f"))) (; ";")) (goto_statement "goto LAB_001c9b6f;" (goto "goto") (statement_identifier "LAB_001c9b6f") (; ";")) (} "}"))) (expression_statement "lVar10 = FUN_001f4890(plVar12,param_1,uVar15);" (assignment_expression "lVar10 = FUN_001f4890(plVar12,param_1,uVar15)" (identifier "lVar10") (= "=") (call_expression "FUN_001f4890(plVar12,param_1,uVar15)" (identifier "FUN_001f4890") (argument_list "(plVar12,param_1,uVar15)" (( "(") (identifier "plVar12") (, ",") (identifier "param_1") (, ",") (identifier "uVar15") () ")")))) (; ";")) (if_statement "if (lVar10 == 0) {\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }\n              else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" (if "if") (parenthesized_expression "(lVar10 == 0)" (( "(") (binary_expression "lVar10 == 0" (identifier "lVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = plVar12[1];\n              }" ({ "{") (if_statement "if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;" (if "if") (parenthesized_expression "((*(byte *)(plVar12 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(plVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar12 + 4) & 1)" (( "(") (binary_expression "*(byte *)(plVar12 + 4) & 1" (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c9fb7;" (goto "goto") (statement_identifier "LAB_001c9fb7") (; ";"))) (expression_statement "lVar10 = plVar12[1];" (assignment_expression "lVar10 = plVar12[1]" (identifier "lVar10") (= "=") (subscript_expression "plVar12[1]" (identifier "plVar12") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" (else "else") (compound_statement "{\n                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;\n                lVar10 = *(long *)(lVar10 + 8);\n                if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }\n              }" ({ "{") (if_statement "if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;" (if "if") (parenthesized_expression "((*(byte *)(lVar10 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar10 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar10 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar10 + 0x20) & 1" (pointer_expression "*(byte *)(lVar10 + 0x20)" (* "*") (cast_expression "(byte *)(lVar10 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar10 + 0x20)" (( "(") (binary_expression "lVar10 + 0x20" (identifier "lVar10") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001c9fb7;" (goto "goto") (statement_identifier "LAB_001c9fb7") (; ";"))) (expression_statement "lVar10 = *(long *)(lVar10 + 8);" (assignment_expression "lVar10 = *(long *)(lVar10 + 8)" (identifier "lVar10") (= "=") (pointer_expression "*(long *)(lVar10 + 8)" (* "*") (cast_expression "(long *)(lVar10 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar10 + 8)" (( "(") (binary_expression "lVar10 + 8" (identifier "lVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (cVar1 != '\0') {\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  bVar2 = *(byte *)(plVar12 + 4);\n                  goto joined_r0x001c9fb1;\n                }" ({ "{") (expression_statement "bVar2 = *(byte *)(plVar12 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar12 + 4)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(plVar12 + 4)" (* "*") (cast_expression "(byte *)(plVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar12 + 4)" (( "(") (binary_expression "plVar12 + 4" (identifier "plVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x001c9fb1;" (goto "goto") (statement_identifier "joined_r0x001c9fb1") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "*(long *)(piVar14 + 4) = lVar10;" (assignment_expression "*(long *)(piVar14 + 4) = lVar10" (pointer_expression "*(long *)(piVar14 + 4)" (* "*") (cast_expression "(long *)(piVar14 + 4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14 + 4)" (( "(") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "lVar10")) (; ";")) (goto_statement "goto LAB_001c9b6f;" (goto "goto") (statement_identifier "LAB_001c9b6f") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x1e0) == '\0') {\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1e0) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1e0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1e0)" (* "*") (cast_expression "(char *)(param_1 + 0x1e0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");\n          }" ({ "{") (expression_statement "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x9b5,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x9b5") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" (else "else") (compound_statement "{\n        uVar9 = gettext("local symbol %u section index %u out of range");\n        uVar5 = uVar15;\n        uVar15 = uVar16;\nLAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);\n        piVar14[4] = 0;\n        piVar14[5] = 0;\n      }" ({ "{") (expression_statement "uVar9 = gettext("local symbol %u section index %u out of range");" (assignment_expression "uVar9 = gettext("local symbol %u section index %u out of range")" (identifier "uVar9") (= "=") (call_expression "gettext("local symbol %u section index %u out of range")" (identifier "gettext") (argument_list "("local symbol %u section index %u out of range")" (( "(") (string_literal ""local symbol %u section index %u out of range"" (" """) (string_content "local symbol %u section index %u out of range") (" """)) () ")")))) (; ";")) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" (identifier "uVar5") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar15 = uVar16;" (assignment_expression "uVar15 = uVar16" (identifier "uVar15") (= "=") (identifier "uVar16")) (; ";")) (labeled_statement "LAB_001c9d61:\n        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" (statement_identifier "LAB_001c9d61") (: ":") (expression_statement "FUN_001c7b60(param_1,uVar9,uVar15,uVar5);" (call_expression "FUN_001c7b60(param_1,uVar9,uVar15,uVar5)" (identifier "FUN_001c7b60") (argument_list "(param_1,uVar9,uVar15,uVar5)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") (, ",") (identifier "uVar15") (, ",") (identifier "uVar5") () ")"))) (; ";"))) (expression_statement "piVar14[4] = 0;" (assignment_expression "piVar14[4] = 0" (subscript_expression "piVar14[4]" (identifier "piVar14") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar14[5] = 0;" (assignment_expression "piVar14[5] = 0" (subscript_expression "piVar14[5]" (identifier "piVar14") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))))) (if_statement "if (uVar3 == uVar16 + 1) {\n        return local_58;\n      }" (if "if") (parenthesized_expression "(uVar3 == uVar16 + 1)" (( "(") (binary_expression "uVar3 == uVar16 + 1" (identifier "uVar3") (== "==") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) () ")")) (compound_statement "{\n        return local_58;\n      }" ({ "{") (return_statement "return local_58;" (return "return") (identifier "local_58") (; ";")) (} "}"))) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);" (assignment_expression "piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(long *)(param_1 + 0x160) + lVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x160) + lVar17)" (( "(") (binary_expression "*(long *)(param_1 + 0x160) + lVar17" (pointer_expression "*(long *)(param_1 + 0x160)" (* "*") (cast_expression "(long *)(param_1 + 0x160)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (+ "+") (identifier "lVar17")) () ")")))) (; ";")) (expression_statement "lVar17 = lVar17 + 0x18;" (assignment_expression "lVar17 = lVar17 + 0x18" (identifier "lVar17") (= "=") (binary_expression "lVar17 + 0x18" (identifier "lVar17") (+ "+") (number_literal "0x18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(char *)((long)piVar14 + 0xb) < '\0')" (( "(") (binary_expression "*(char *)((long)piVar14 + 0xb) < '\0'" (pointer_expression "*(char *)((long)piVar14 + 0xb)" (* "*") (cast_expression "(char *)((long)piVar14 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar14 + 0xb)" (( "(") (binary_expression "(long)piVar14 + 0xb" (cast_expression "(long)piVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar14")) (+ "+") (number_literal "0xb")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");" (call_expression "FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" (identifier "FUN_00199900") (argument_list "("../../gold/object.cc",0x96c,"compute_final_local_value_internal")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x96c") (, ",") (string_literal ""compute_final_local_value_internal"" (" """) (string_content "compute_final_local_value_internal") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: uint do_finalize_local_symbols(Sized_relobj_file<64,_false> * this,
   uint index, off_t off, Symbol_table * symtab) */

type_1 __thiscall
var_5::Sized_relobj_file<64,_false>::do_finalize_local_symbols
          (Sized_relobj_file<64,_false> *this,type_1 index,off_t var_1,Symbol_table *symtab)

{
  bool var_23;
  type_2 var_29;
  type_1 var_4;
  type_3 var_8;
  type_4 *var_24;
  type_3 ppOVar6;
  long var_20;
  type_5 aVar8;
  type_1 uVar9;
  bool bVar10;
  int iVar11;
  type_6 var_2;
  type_7 *var_18;
  char *format;
  uint64_t var_26;
  type_8 *var_22;
  type_5 *var_33;
  type_9 *var_16;
  type_10 extraout_var_00;
  type_3 pSVar16;
  type_1 var_9;
  type_1 var_35;
  long var_36;
  type_11 SVar20;
  type_1 var_12;
  uint64_t var_31;
  type_10 extraout_var;
  
  var_2 = var_1 + 7U & 0xfffffffffffffff8;
  if (var_2 != var_1) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");
  }
  this->local_symbol_offset_ = var_2;
  var_4 = this->local_symbol_count_;
  if (parameters->options_ == (type_12 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("../../gold/parameters.h",0x5c,"options");
  }
  var_23 = (parameters->options_->relocatable_).value;
  if (var_4 < 2) {
    return index;
  }
  var_8 = (this->local_values_).
           super__Vector_base<var_5::Symbol_value<64>,var_6::var_13<var_5::Symbol_value<64>var_7>var_7>.
           _M_impl._M_start;
  pSVar16 = var_8 + 1;
  if ((char)var_8[1].field_0xb < '\0') {
    var_35 = 1;
    var_36 = 0x30;
    var_12 = index;
    do {
      var_9 = *(type_1 *)&pSVar16->field_0x8 & 0x7ffffff;
      if ((pSVar16->field_0xb & 8) == 0) {
        if ((var_9 != 0xfff1) && (bVar10 = Symbol::var_10(var_9), !bVar10)) {
          format = (char *)var_11("unknown section index %u for local symbol %u");
          uVar9 = var_35;
          goto LAB_001c9d61;
        }
LAB_001c9b6f:
        var_9 = pSVar16->output_symtab_index_;
joined_r0x001c9b73:
        if ((var_9 == 0) || (var_9 == 0xfffffffe)) {
          if (0xfffffffc < var_12 - 1) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.h",0x70d,"set_output_symtab_index");
          }
          pSVar16->output_symtab_index_ = var_12;
          var_12 = var_12 + 1;
        }
      }
      else if (var_9 < (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_) {
        var_16 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                  super__Vector_base<var_5::type_9*,var_6::var_13<var_5::type_9*>var_7>.
                  _M_impl._M_start[var_9];
        var_2 = (this->super_Sized_relobj<64,_false>).section_offsets_.
                 super__Vector_base<var_14,var_6::var_13<var_14>var_7>._M_impl.
                 _M_start[var_9];
        bVar10 = Symbol_table::var_15(symtab,(type_7 *)this,var_9);
        if (bVar10) {
          if ((var_16 != (type_9 *)0x0) || (var_2 != 0xffffffffffffffff)) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.cc",0x98d,"compute_final_local_value_internal");
          }
          SVar20 = Icf::var_17(symtab->icf_,(type_7 *)this,var_9);
          var_2 = SVar20._8_8_;
          var_18 = SVar20.first;
          if (var_18 == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.cc",0x991,"compute_final_local_value_internal");
          }
          var_24 = (var_18->super_Object)._vptr_Object[0x18];
          if (var_24 == type_7::do_output_section) {
            ppOVar6 = (var_18->output_sections_).
                      super__Vector_base<var_5::type_9*,var_6::var_13<var_5::type_9*>var_7>
                      ._M_impl._M_start;
            if ((type_6)((long)(var_18->output_sections_).
                              super__Vector_base<var_5::type_9*,var_6::var_13<var_5::type_9*>var_7>
                              ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (var_2 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/object.h",0x5c8,"do_output_section");
            }
            var_16 = ppOVar6[var_2 & 0xffffffff];
          }
          else {
            iVar11 = (*var_24)(var_18,var_2 & 0xffffffff);
            var_16 = (type_9 *)var_19(extraout_var,iVar11);
          }
          if (var_16 == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.cc",0x995,"compute_final_local_value_internal");
          }
          var_20 = *(long *)&var_18[1].super_Object.shnum_;
          if ((type_6)((long)var_18[1].super_Object.xindex_ - var_20 >> 3) <= (var_2 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.h",0x7f7,"get_output_section_offset");
          }
          var_2 = *(type_6 *)(var_20 + (var_2 & 0xffffffff) * 8);
          if (var_2 == 0xffffffffffffffff) {
            var_22 = type_9::var_21(var_16,var_18,SVar20.second);
            if (var_22 == (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/object.cc",0x99d,"compute_final_local_value_internal")
              ;
            }
            if ((((var_22->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.field_0x20 & 1) == 0) ||
               (((var_16->super_Output_data).field_0x20 & 1) == 0)) goto LAB_001c9fb7;
            var_2 = (var_22->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.address_ - (var_16->super_Output_data).address_;
            goto LAB_001c9d89;
          }
LAB_001c9ca4:
          if (((pSVar16->field_0xb & 0x20) == 0) &&
             (((pSVar16->field_0xb & 0x10) == 0 || ((var_16->flags_ & 0x400) == 0)))) {
            if (var_23 == false) {
              if (((var_16->super_Output_data).field_0x20 & 1) == 0) {
LAB_001c9fb7:
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/output.h",0xc5,"address");
              }
              var_26 = (var_16->super_Output_data).address_;
            }
            else {
              var_26 = 0;
            }
          }
          else {
            var_24 = (var_16->super_Output_data)._vptr_Output_data[0x12];
            if (var_24 == type_9::do_tls_offset) {
              var_26 = var_16->tls_offset_;
            }
            else {
              iVar11 = (*var_24)(var_16);
              var_26 = var_19(extraout_var_00,iVar11);
            }
          }
          (pSVar16->u_).merged_symbol_value =
               (var_25<64> *)
               ((long)&((pSVar16->u_).merged_symbol_value)->input_value_ + var_26 + var_2);
          var_9 = pSVar16->output_symtab_index_;
          goto joined_r0x001c9b73;
        }
        if (var_16 != (type_9 *)0x0) {
LAB_001c9d89:
          if (var_2 != 0xffffffffffffffff) goto LAB_001c9ca4;
          if (var_16->order_ != var_27) {
            if ((pSVar16->field_0xb & 0x10) == 0) {
              var_26 = type_9::var_28
                                 (var_16,(type_7 *)this,var_9,(pSVar16->u_).value);
              if (var_23 != false) {
                var_29 = (var_16->super_Output_data).field_0x20;
joined_r0x001c9fb1:
                if ((var_29 & 1) == 0) goto LAB_001c9fb7;
                var_26 = var_26 - (var_16->super_Output_data).address_;
              }
            }
            else {
              bVar10 = type_9::var_30
                                 (var_16,(type_7 *)this,var_9,&var_31);
              if (bVar10) {
                var_26 = var_31;
                if (var_23 != false) {
                  if (((var_16->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;
                  var_26 = var_31 - (var_16->super_Output_data).address_;
                }
                aVar8 = pSVar16->u_;
                var_33 = (type_5 *)var_32(0x48);
                *(type_13 (*) [16])(var_33 + 6) = (type_13  [16])0x0;
                *var_33 = aVar8;
                var_33[2].merged_symbol_value = (var_25<64> *)(var_33 + 8);
                var_29 = pSVar16->field_0xb;
                var_33[1].value = var_26;
                var_33[8].value = 0;
                var_33[3].value = 1;
                var_33[4].value = 0;
                var_33[5].value = 0;
                *(type_10 *)(var_33 + 6) = 0x3f800000;
                var_33[7].value = 0;
                if ((var_29 & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                  var_3("../../gold/object.h",0x6bb,"set_merged_symbol_value");
                }
                (pSVar16->u_).merged_symbol_value = (var_25<64> *)var_33;
                pSVar16->field_0xb = var_29 & 0x7f;
                goto LAB_001c9b6f;
              }
              var_22 = type_9::var_21(var_16,(type_7 *)this,var_9);
              if (var_22 == (type_8 *)0x0) {
                if (((var_16->super_Output_data).field_0x20 & 1) == 0) goto LAB_001c9fb7;
                var_26 = (var_16->super_Output_data).address_;
              }
              else {
                if (((var_22->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.field_0x20 & 1) == 0) goto LAB_001c9fb7;
                var_26 = (var_22->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.address_;
                if (var_23 != false) {
                  var_29 = (var_16->super_Output_data).field_0x20;
                  goto joined_r0x001c9fb1;
                }
              }
            }
            (pSVar16->u_).value = var_26;
            goto LAB_001c9b6f;
          }
          if (this->has_eh_frame_ == false) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");
          }
        }
      }
      else {
        format = (char *)var_11("local symbol %u section index %u out of range");
        uVar9 = var_9;
        var_9 = var_35;
LAB_001c9d61:
        Object::var_34((type_14 *)this,format,(type_6)var_9,(type_6)uVar9);
        (pSVar16->u_).value = 0;
      }
      if (var_4 == var_35 + 1) {
        return var_12;
      }
      var_35 = var_35 + 1;
      pSVar16 = (type_3)((long)&((this->local_values_).
                                  super__Vector_base<var_5::Symbol_value<64>,var_6::var_13<var_5::Symbol_value<64>var_7>var_7>
                                  ._M_impl._M_start)->output_symtab_index_ + var_36);
      var_36 = var_36 + 0x18;
    } while ((char)pSVar16->field_0xb < '\0');
  }
                    /* WARNING: Subroutine does not return */
  var_3("../../gold/object.cc",0x96c,"compute_final_local_value_internal");
}


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

int MASKED(long param_1,int param_2,ulong param_3,long param_4)

{
  char cVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  char cVar6;
  ulong uVar7;
  long *plVar8;
  undefined8 uVar9;
  long lVar10;
  undefined8 *puVar11;
  long *plVar12;
  long lVar13;
  int *piVar14;
  uint uVar15;
  uint uVar16;
  long lVar17;
  undefined1 auVar18 [16];
  int local_58;
  long local_40 [2];
  
  uVar7 = param_3 + 7 & 0xfffffffffffffff8;
  if (uVar7 != param_3) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/object.cc",0xa1a,"do_finalize_local_symbols");
  }
  *(ulong *)(param_1 + 0x150) = uVar7;
  uVar3 = *(uint *)(param_1 + 0x120);
  if (*(long *)(PTR_DAT_003f85c0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00199900("../../gold/parameters.h",0x5c,"options");
  }
  cVar1 = *(char *)(*(long *)(PTR_DAT_003f85c0 + 0x10) + 0x5051);
  if (uVar3 < 2) {
    return param_2;
  }
  piVar14 = (int *)(*(long *)(param_1 + 0x160) + 0x18);
  if (*(char *)(*(long *)(param_1 + 0x160) + 0x23) < '\0') {
    uVar16 = 1;
    lVar17 = 0x30;
    local_58 = param_2;
    do {
      uVar15 = piVar14[2] & 0x7ffffff;
      if ((*(byte *)((long)piVar14 + 0xb) & 8) == 0) {
        if ((uVar15 != 0xfff1) && (cVar6 = FUN_0024aae0(uVar15), cVar6 == '\0')) {
          uVar9 = gettext("unknown section index %u for local symbol %u");
          uVar5 = uVar16;
          goto LAB_001c9d61;
        }
LAB_001c9b6f:
        iVar4 = *piVar14;
joined_r0x001c9b73:
        if ((iVar4 == 0) || (iVar4 == -2)) {
          if (0xfffffffc < local_58 - 1U) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.h",0x70d,"set_output_symtab_index");
          }
          *piVar14 = local_58;
          local_58 = local_58 + 1;
        }
      }
      else if (uVar15 < *(uint *)(param_1 + 0x38)) {
        plVar12 = *(long **)(*(long *)(param_1 + 0x50) + (ulong)uVar15 * 8);
        lVar10 = *(long *)(*(long *)(param_1 + 0xe0) + (ulong)uVar15 * 8);
        cVar6 = FUN_0024ae80(param_4,param_1,uVar15);
        if (cVar6 != '\0') {
          if ((plVar12 != (long *)0x0) || (lVar10 != -1)) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x98d,"compute_final_local_value_internal");
          }
          auVar18 = FUN_0019c910(*(undefined8 *)(param_4 + 0x298),param_1,uVar15);
          uVar7 = auVar18._8_8_;
          plVar8 = auVar18._0_8_;
          if (plVar8 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x991,"compute_final_local_value_internal");
          }
          if (*(code **)(*plVar8 + 0xc0) == FUN_00168b20) {
            if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (uVar7 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/object.h",0x5c8,"do_output_section");
            }
            plVar12 = *(long **)(plVar8[10] + (uVar7 & 0xffffffff) * 8);
          }
          else {
            plVar12 = (long *)(**(code **)(*plVar8 + 0xc0))(plVar8,uVar7 & 0xffffffff);
          }
          if (plVar12 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x995,"compute_final_local_value_internal");
          }
          if ((ulong)(plVar8[0x1d] - plVar8[0x1c] >> 3) <= (uVar7 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.h",0x7f7,"get_output_section_offset");
          }
          lVar10 = *(long *)(plVar8[0x1c] + (uVar7 & 0xffffffff) * 8);
          if (lVar10 == -1) {
            lVar10 = FUN_001f4890(plVar12,plVar8);
            if (lVar10 == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_00199900("../../gold/object.cc",0x99d,"compute_final_local_value_internal");
            }
            if (((*(byte *)(lVar10 + 0x20) & 1) == 0) || ((*(byte *)(plVar12 + 4) & 1) == 0))
            goto LAB_001c9fb7;
            lVar10 = *(long *)(lVar10 + 8) - plVar12[1];
            goto LAB_001c9d89;
          }
LAB_001c9ca4:
          if (((*(byte *)((long)piVar14 + 0xb) & 0x20) == 0) &&
             (((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0 ||
              ((*(byte *)((long)plVar12 + 0x71) & 4) == 0)))) {
            if (cVar1 == '\0') {
              if ((*(byte *)(plVar12 + 4) & 1) == 0) {
LAB_001c9fb7:
                    /* WARNING: Subroutine does not return */
                FUN_00199900("../../gold/output.h",0xc5,"address");
              }
              lVar13 = plVar12[1];
            }
            else {
              lVar13 = 0;
            }
          }
          else if (*(code **)(*plVar12 + 0x90) == FUN_001c8ec0) {
            lVar13 = plVar12[0x1a];
          }
          else {
            lVar13 = (**(code **)(*plVar12 + 0x90))(plVar12);
          }
          *(long *)(piVar14 + 4) = *(long *)(piVar14 + 4) + lVar13 + lVar10;
          iVar4 = *piVar14;
          goto joined_r0x001c9b73;
        }
        if (plVar12 != (long *)0x0) {
LAB_001c9d89:
          if (lVar10 != -1) goto LAB_001c9ca4;
          if ((int)plVar12[0xf] != 0xf) {
            if ((*(byte *)((long)piVar14 + 0xb) & 0x10) == 0) {
              lVar10 = FUN_001f4b80(plVar12,param_1,uVar15,*(undefined8 *)(piVar14 + 4));
              if (cVar1 != '\0') {
                bVar2 = *(byte *)(plVar12 + 4);
joined_r0x001c9fb1:
                if ((bVar2 & 1) == 0) goto LAB_001c9fb7;
                lVar10 = lVar10 - plVar12[1];
              }
            }
            else {
              cVar6 = FUN_001eec30(plVar12,param_1,uVar15,local_40);
              if (cVar6 != '\0') {
                lVar10 = local_40[0];
                if (cVar1 != '\0') {
                  if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;
                  lVar10 = local_40[0] - plVar12[1];
                }
                uVar9 = *(undefined8 *)(piVar14 + 4);
                puVar11 = (undefined8 *)FUN_002a11b0(0x48);
                *(undefined1 (*) [16])(puVar11 + 6) = (undefined1  [16])0x0;
                *puVar11 = uVar9;
                puVar11[2] = puVar11 + 8;
                bVar2 = *(byte *)((long)piVar14 + 0xb);
                puVar11[1] = lVar10;
                puVar11[8] = 0;
                puVar11[3] = 1;
                puVar11[4] = 0;
                puVar11[5] = 0;
                *(undefined4 *)(puVar11 + 6) = 0x3f800000;
                puVar11[7] = 0;
                if ((bVar2 & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_00199900("../../gold/object.h",0x6bb,"set_merged_symbol_value");
                }
                *(undefined8 **)(piVar14 + 4) = puVar11;
                *(byte *)((long)piVar14 + 0xb) = bVar2 & 0x7f;
                goto LAB_001c9b6f;
              }
              lVar10 = FUN_001f4890(plVar12,param_1,uVar15);
              if (lVar10 == 0) {
                if ((*(byte *)(plVar12 + 4) & 1) == 0) goto LAB_001c9fb7;
                lVar10 = plVar12[1];
              }
              else {
                if ((*(byte *)(lVar10 + 0x20) & 1) == 0) goto LAB_001c9fb7;
                lVar10 = *(long *)(lVar10 + 8);
                if (cVar1 != '\0') {
                  bVar2 = *(byte *)(plVar12 + 4);
                  goto joined_r0x001c9fb1;
                }
              }
            }
            *(long *)(piVar14 + 4) = lVar10;
            goto LAB_001c9b6f;
          }
          if (*(char *)(param_1 + 0x1e0) == '\0') {
                    /* WARNING: Subroutine does not return */
            FUN_00199900("../../gold/object.cc",0x9b5,"compute_final_local_value_internal");
          }
        }
      }
      else {
        uVar9 = gettext("local symbol %u section index %u out of range");
        uVar5 = uVar15;
        uVar15 = uVar16;
LAB_001c9d61:
        FUN_001c7b60(param_1,uVar9,uVar15,uVar5);
        piVar14[4] = 0;
        piVar14[5] = 0;
      }
      if (uVar3 == uVar16 + 1) {
        return local_58;
      }
      uVar16 = uVar16 + 1;
      piVar14 = (int *)(*(long *)(param_1 + 0x160) + lVar17);
      lVar17 = lVar17 + 0x18;
    } while (*(char *)((long)piVar14 + 0xb) < '\0');
  }
                    /* WARNING: Subroutine does not return */
  FUN_00199900("../../gold/object.cc",0x96c,"compute_final_local_value_internal");
}

