
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_plt_arm<false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_91258a::Output_data_plt_arm<false>::do_write
          (Output_data_plt_arm<false> *this,Output_file *of)

{
  off_t *poVar1;
  pointer pIVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  uint uVar6;
  int iVar7;
  Output_data_space *pOVar8;
  Output_data_space *pOVar9;
  Xindex *pXVar10;
  undefined4 uVar11;
  Sized_relobj_file<32,_false> *object;
  _func_int_varargs *p_Var12;
  Merged_symbol_value<32> *this_00;
  _Hash_node_base *input_offset;
  _Hash_node_base *p_Var13;
  uint uVar14;
  int iVar15;
  uchar *puVar16;
  uint uVar17;
  Xindex *pXVar18;
  _Hash_node_base *p_Var19;
  uint uVar20;
  int iVar21;
  uint uVar22;
  __bucket_type p_Var23;
  uint uVar24;
  uchar *puVar25;
  uchar *puVar26;
  __bucket_type p_Var27;
  uchar *local_7c;
  int local_70;
  
  bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if ((bVar3 & 4) == 0) goto LAB_0011515c;
  iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);
  uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_;
  if ((bVar3 & 2) == 0) goto LAB_0011513d;
  uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;
  if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {
LAB_0011517b:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
  }
  if (-1 < iVar21) {
    uVar24 = (uint)of->file_size_;
    iVar7 = *(int *)((int)&of->file_size_ + 4);
    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);
    uVar14 = (uint)(uVar24 < uVar6 + uVar17);
    iVar15 = iVar7 - iVar21;
    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {
      puVar16 = of->base_ + uVar17;
      pOVar8 = this->got_plt_;
      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              field_0x1c;
      if ((bVar4 & 4) == 0) {
LAB_0011515c:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
      }
      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.offset_;
      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.
                              super_Output_data.offset_ + 4);
      if ((bVar4 & 2) != 0) {
        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.data_size_;
        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.
                                super_Output_data.data_size_ + 4);
        pOVar9 = this->got_irelative_;
        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.field_0x1c;
        if ((bVar5 & 4) == 0) goto LAB_0011515c;
        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=
            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.
                           super_Output_data.offset_ + 4) ||
            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.
                 super_Output_data.offset_ != uVar17 + uVar14) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");
        }
        if ((bVar5 & 2) != 0) {
          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.
                    super_Output_data.data_size_;
          uVar22 = uVar14 + (int)*poVar1;
          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).
                                      super_Output_section_data.super_Output_data.data_size_ + 4) +
              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;
          if ((-1 < iVar21) &&
             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),
             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,
             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {
            puVar25 = of->base_ + uVar17;
            if (((bVar3 & 1) == 0) ||
               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,
               (bVar4 & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
            }
            uVar11 = (undefined4)
                     (pOVar8->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.address_;
            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])
                      (this,puVar16,uVar11,pXVar10);
            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])
                               (this);
            local_7c = puVar16 + iVar21;
            puVar25[0] = '\0';
            puVar25[1] = '\0';
            puVar25[2] = '\0';
            puVar25[3] = '\0';
            puVar26 = puVar25 + 0xc;
            puVar25[4] = '\0';
            puVar25[5] = '\0';
            puVar25[6] = '\0';
            puVar25[7] = '\0';
            puVar25[8] = '\0';
            puVar25[9] = '\0';
            puVar25[10] = '\0';
            puVar25[0xb] = '\0';
            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]
                       )(this);
            uVar17 = this->irelative_count_ + this->count_;
            if (this->irelative_count_ !=
                ((int)(this->irelative_data_vec_).
                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>
                      ._M_impl._M_finish -
                 (int)(this->irelative_data_vec_).
                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>
                      ._M_impl._M_start >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");
            }
            if (uVar17 != 0) {
              uVar24 = 0;
              do {
                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])
                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);
                pXVar18 = pXVar10;
                if (this->count_ <= uVar24) {
                  pIVar2 = (this->irelative_data_vec_).
                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>
                           ._M_impl._M_start + (uVar24 - this->count_);
                  object = (pIVar2->u_).local.relobj;
                  if (pIVar2->symbol_is_global_ == false) {
                    uVar14 = (pIVar2->u_).local.index;
                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                              _vptr_Object[0x29];
                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {
                      iVar21 = (int)*(off_t *)&object->local_values_;
                      if ((uint)((int)(object->local_values_).
                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {
                    /* WARNING: Subroutine does not return */
                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");
                      }
                      iVar21 = iVar21 + uVar14 * 0x10;
                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {
                        pXVar18 = *(Xindex **)(iVar21 + 0xc);
                      }
                      else {
                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {
                    /* WARNING: Subroutine does not return */
                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");
                        }
                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);
                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;
                        input_offset = (_Hash_node_base *)this_00->input_value_;
                        uVar20 = (uint)input_offset % uVar14;
                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];
                        if (p_Var27 != (__bucket_type)0x0) {
                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;
                          p_Var13 = p_Var27->_M_nxt;
                          while (p_Var23 = p_Var13, input_offset != p_Var19) {
                            p_Var13 = p_Var23->_M_nxt;
                            if ((p_Var13 == (_Hash_node_base *)0x0) ||
                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,
                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;
                          }
                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {
                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;
                            goto LAB_00114f07;
                          }
                        }
LAB_0011505f:
                        pXVar18 = (Xindex *)
                                  gold::Merged_symbol_value<32>::value_from_output_section
                                            (this_00,(Relobj *)object,
                                             *(uint *)(iVar21 + 8) & 0x7ffffff,
                                             (Elf_Addr)input_offset);
                      }
                    }
                    else {
                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);
                    }
                  }
                  else {
                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &
                        0xf) != 10) {
                    /* WARNING: Subroutine does not return */
                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");
                    }
                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                              xindex_;
                  }
                }
LAB_00114f07:
                *(Xindex **)puVar26 = pXVar18;
                uVar24 = uVar24 + 1;
                puVar26 = puVar26 + 4;
                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data
                           [0x1a])(this);
                local_7c = local_7c + iVar21;
                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data
                           [0x1a])(this);
                local_70 = local_70 + iVar21;
              } while (uVar17 != uVar24);
            }
            if ((int)local_7c - (int)puVar16 != uVar6) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");
            }
            if ((int)puVar26 - (int)puVar25 != uVar22) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");
            }
            return;
          }
          goto LAB_00115121;
        }
      }
LAB_0011513d:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
    }
  }
LAB_00115121:
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_00114c60(int *param_1,int param_2)

{
  byte bVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  int *piVar8;
  uint *puVar9;
  int *piVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint uVar16;
  int *piVar17;
  uint uVar18;
  int *piVar19;
  undefined4 *puVar20;
  int *piVar21;
  undefined8 uVar22;
  int local_7c;
  int local_70;
  
  bVar1 = *(byte *)(param_1 + 7);
  if ((bVar1 & 4) == 0) goto LAB_0011515c;
  uVar12 = param_1[5];
  if ((bVar1 & 2) == 0) goto LAB_0011513d;
  uVar3 = param_1[3];
  if (param_1[4] != 0) {
LAB_0011517b:
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);
  }
  if (-1 < param_1[6]) {
    iVar4 = *(int *)(param_2 + 0xc);
    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);
    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);
    iVar11 = iVar4 - iVar15;
    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {
      iVar11 = uVar12 + *(int *)(param_2 + 0x10);
      uVar12 = param_1[0xe];
      bVar2 = *(byte *)(uVar12 + 0x1c);
      if ((bVar2 & 4) == 0) {
LAB_0011515c:
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/output.h",0xe3,"offset");
      }
      uVar18 = *(uint *)(uVar12 + 0x14);
      iVar15 = *(int *)(uVar12 + 0x18);
      if ((bVar2 & 2) != 0) {
        uVar5 = *(uint *)(uVar12 + 0xc);
        iVar6 = param_1[0xf];
        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;
        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)
            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);
        }
        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {
          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);
          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +
              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;
          if ((-1 < iVar15) &&
             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),
             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,
             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {
            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);
            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);
            }
            uVar7 = *(undefined4 *)(uVar12 + 4);
            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);
            local_7c = (**(code **)(*param_1 + 100))(param_1);
            local_7c = local_7c + iVar11;
            *puVar20 = 0;
            piVar19 = puVar20 + 3;
            puVar20[1] = 0;
            puVar20[2] = 0;
            local_70 = (**(code **)(*param_1 + 100))(param_1);
            iVar15 = param_1[0x11];
            uVar12 = iVar15 + param_1[0x10];
            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);
            }
            if (uVar12 != 0) {
              uVar18 = 0;
              do {
                (**(code **)(*param_1 + 0x70))
                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);
                iVar15 = iVar4;
                if ((uint)param_1[0x10] <= uVar18) {
                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);
                  piVar8 = (int *)*piVar21;
                  if ((char)piVar21[2] == '\0') {
                    uVar5 = piVar21[1];
                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {
                      iVar15 = piVar8[0x37];
                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {
                    /* WARNING: Subroutine does not return */
                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");
                      }
                      iVar6 = iVar15 + uVar5 * 0x10;
                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {
                        iVar15 = *(int *)(iVar6 + 0xc);
                      }
                      else {
                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {
                    /* WARNING: Subroutine does not return */
                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);
                        }
                        puVar9 = *(uint **)(iVar6 + 0xc);
                        uVar5 = *puVar9;
                        uVar14 = uVar5 % puVar9[3];
                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);
                        if (piVar21 != (int *)0x0) {
                          uVar13 = ((int *)*piVar21)[1];
                          piVar10 = (int *)*piVar21;
                          while (piVar17 = piVar10, uVar5 != uVar13) {
                            piVar10 = (int *)*piVar17;
                            if ((piVar10 == (int *)0x0) ||
                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]
                               )) goto LAB_0011505f;
                          }
                          if (*piVar21 != 0) {
                            iVar15 = *(int *)(*piVar21 + 8);
                            goto LAB_00114f07;
                          }
                        }
LAB_0011505f:
                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);
                      }
                    }
                    else {
                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);
                    }
                  }
                  else {
                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {
                    /* WARNING: Subroutine does not return */
                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");
                    }
                    iVar15 = piVar8[0xc];
                  }
                }
LAB_00114f07:
                *piVar19 = iVar15;
                uVar18 = uVar18 + 1;
                piVar19 = piVar19 + 1;
                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);
                local_7c = local_7c + iVar15;
                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);
                iVar15 = (int)((ulonglong)uVar22 >> 0x20);
                local_70 = local_70 + (int)uVar22;
              } while (uVar12 != uVar18);
            }
            if (local_7c - iVar11 != uVar3) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);
            }
            if ((int)piVar19 - (int)puVar20 != uVar16) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);
            }
            return;
          }
          goto LAB_00115121;
        }
      }
LAB_0011513d:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/output.h",0xcf,"data_size");
    }
  }
LAB_00115121:
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");
}


CALL 0x00074f02
ADD EAX,0x4d539b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x6c
MOV dword ptr [ESP + 0x54],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV ESI,dword ptr [ESP + 0x84]
MOVZX EAX,byte ptr [EAX + 0x1c]
MOV byte ptr [ESP + 0xc],AL
TEST AL,0x4
JZ 0x0011515c
MOV EAX,dword ptr [ESP + 0x80]
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0x14]
TEST byte ptr [ESP + 0xc],0x2
JZ 0x0011513d
MOV EDI,dword ptr [ESP + 0x80]
MOV ECX,dword ptr [EDI + 0xc]
MOV EBX,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EBX
TEST EBX,EBX
JNZ 0x0011517b
TEST EDX,EDX
JS 0x00115121
MOV ECX,dword ptr [ESP + 0x40]
MOV EDI,dword ptr [ESI + 0x8]
MOV EBX,dword ptr [ESP + 0x44]
MOV EBP,dword ptr [ESI + 0xc]
ADD ECX,EAX
MOV dword ptr [ESP + 0x24],EDI
ADC EBX,EDX
CMP EDI,ECX
MOV dword ptr [ESP + 0x28],EBP
SBB EBP,EBX
JL 0x00115121
MOV ESI,dword ptr [ESI + 0x10]
ADD EAX,ESI
MOV dword ptr [ESP + 0x20],ESI
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0x38]
MOVZX EBP,byte ptr [EAX + 0x1c]
TEST EBP,0x4
JZ 0x0011515c
MOV ECX,dword ptr [EAX + 0x14]
MOV EBX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP],ECX
MOV dword ptr [ESP + 0x4],EBX
TEST EBP,0x2
JZ 0x0011513d
MOV ESI,dword ptr [EAX + 0xc]
MOV EDI,dword ptr [EAX + 0x10]
ADD ECX,ESI
MOV dword ptr [ESP + 0x18],ESI
MOV ESI,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x1c],EDI
ADC EBX,EDI
MOV EDX,dword ptr [ESI + 0x3c]
MOVZX ESI,byte ptr [EDX + 0x1c]
TEST ESI,0x4
JZ 0x0011515c
MOV EDI,dword ptr [EDX + 0x14]
MOV dword ptr [ESP + 0x14],EBX
MOV EBX,dword ptr [ESP + 0x14]
XOR EBX,dword ptr [EDX + 0x18]
MOV dword ptr [ESP + 0x10],ECX
XOR EDI,ECX
OR EBX,EDI
JNZ 0x00115229
AND ESI,0x2
JZ 0x0011513d
MOV EBX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x1c]
ADD EBX,dword ptr [EDX + 0xc]
ADC ESI,dword ptr [EDX + 0x10]
MOV EDI,ESI
MOV ESI,EBX
MOV dword ptr [ESP + 0x58],EBX
MOV ECX,EBX
MOV EDX,ESI
XOR EBX,EBX
MOV dword ptr [ESP + 0x5c],EDI
XOR EDX,ESI
MOV ESI,EDI
OR ESI,EDX
JNZ 0x0011517b
MOV EDI,dword ptr [ESP + 0x4]
MOV ESI,dword ptr [ESP]
TEST EDI,EDI
JS 0x00115121
ADD ECX,ESI
MOV ESI,dword ptr [ESP + 0x28]
ADC EBX,EDI
CMP dword ptr [ESP + 0x24],ECX
SBB ESI,EBX
JL 0x00115121
MOV ESI,dword ptr [ESP + 0x20]
ADD ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0x4c],ESI
TEST byte ptr [ESP + 0xc],0x1
JZ 0x0011520c
MOV ESI,dword ptr [ESP + 0x80]
AND EBP,0x1
MOV ESI,dword ptr [ESI + 0x4]
MOV dword ptr [ESP + 0x10],ESI
JZ 0x0011520c
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x28],EAX
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX]
PUSH ESI
PUSH EDI
MOV ESI,dword ptr [ESP + 0x50]
PUSH ESI
PUSH dword ptr [ESP + 0x8c]
CALL dword ptr [EAX + 0x6c]
POP EDI
MOV EAX,dword ptr [ESP + 0x8c]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [ESP + 0x8c]
CALL dword ptr [EAX + 0x64]
ADD EAX,ESI
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [EAX],0x0
LEA EBP,[EAX + 0xc]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
POP EAX
MOV EAX,dword ptr [ESP + 0x8c]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [ESP + 0x8c]
CALL dword ptr [EAX + 0x64]
MOV ESI,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV EDX,dword ptr [EAX + 0x44]
MOV EAX,EDX
ADD EAX,dword ptr [ESI + 0x40]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [ESI + 0x4c]
ADD ESP,0x10
SUB EAX,dword ptr [ESI + 0x48]
SAR EAX,0x2
IMUL EAX,EAX,-0x55555555
CMP EDX,EAX
JNZ 0x001151ef
MOV EBX,dword ptr [ESP + 0x20]
TEST EBX,EBX
JZ 0x001150a2
MOV EAX,dword ptr [ESP + 0x54]
XOR ESI,ESI
MOV EDI,dword ptr [ESP + 0x80]
LEA EAX,[EAX + 0xffb18980]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,EBP
MOV EBP,ESI
MOV ESI,EAX
JMP 0x00114f35
MOV EDX,EBP
SUB EDX,EAX
MOV EAX,dword ptr [EDI + 0x48]
LEA EDX,[EDX + EDX*0x2]
LEA EAX,[EAX + EDX*0x4]
MOV EBX,dword ptr [EAX]
CMP byte ptr [EAX + 0x8],0x0
MOV dword ptr [ESP + 0x24],EBX
JZ 0x00114f70
MOVZX EAX,byte ptr [EBX + 0x28]
MOV byte ptr [ESP + 0x18],AL
AND EAX,0xf
CMP AL,0xa
JNZ 0x00115102
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x30]
SUB ESP,0xc
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EDI]
ADD EBP,0x1
PUSH EDI
ADD ESI,0x4
CALL dword ptr [EAX + 0x68]
ADD dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP],EDI
CALL dword ptr [EAX + 0x68]
ADD dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
CMP dword ptr [ESP + 0x20],EBP
JZ 0x001150a0
SUB ESP,0x8
MOV EAX,dword ptr [EDI]
LEA EDX,[EBP*0x4 + 0xc]
PUSH dword ptr [ESP + 0x14]
PUSH EDX
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [ESP + 0x18]
PUSH EDI
CALL dword ptr [EAX + 0x70]
MOV EAX,dword ptr [EDI + 0x40]
ADD ESP,0x20
CMP EAX,EBP
JBE 0x00114ed0
MOV EAX,dword ptr [ESP + 0x10]
JMP 0x00114f07
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ECX]
MOV EAX,dword ptr [EAX + 0xa4]
CMP EAX,dword ptr [ESP + 0x30]
JNZ 0x001150d0
MOV EAX,ECX
MOV ECX,dword ptr [ECX + 0xdc]
MOV EAX,dword ptr [EAX + 0xe0]
MOV dword ptr [ESP + 0x18],EAX
SUB EAX,ECX
SAR EAX,0x4
CMP EDX,EAX
JNC 0x001150e3
SHL EDX,0x4
LEA EAX,[ECX + EDX*0x1]
MOV dword ptr [ESP + 0x2c],EAX
MOVZX EAX,byte ptr [EAX + 0xb]
TEST AL,AL
JS 0x00115090
TEST AL,0x8
JZ 0x001151d2
MOV EAX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [EAX + 0xc]
MOV EDX,dword ptr [ECX + 0xc]
MOV EAX,dword ptr [ECX]
MOV dword ptr [ESP + 0x50],ECX
MOV EBX,EDX
MOV dword ptr [ESP + 0x3c],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x18],EAX
DIV EBX
MOV EAX,dword ptr [ECX + 0x8]
MOV EAX,dword ptr [EAX + EDX*0x4]
TEST EAX,EAX
JZ 0x0011505f
MOV EBX,dword ptr [EAX]
MOV dword ptr [ESP + 0x34],EBP
MOV EBP,EDX
MOV dword ptr [ESP + 0x38],ESI
MOV ESI,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x80],EDI
MOV ECX,dword ptr [EBX + 0x4]
MOV EDI,EAX
JMP 0x00115027
MOV EAX,dword ptr [EBX]
TEST EAX,EAX
JZ 0x00115050
MOV ECX,dword ptr [EAX + 0x4]
MOV EDI,EBX
XOR EDX,EDX
MOV EBX,EAX
MOV EAX,ECX
DIV ESI
CMP EBP,EDX
JNZ 0x00115050
CMP dword ptr [ESP + 0x18],ECX
JNZ 0x00115010
MOV EAX,EDI
MOV EBP,dword ptr [ESP + 0x34]
MOV ESI,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [ESP + 0x80]
TEST EAX,EAX
JZ 0x0011505f
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x00114f07
MOV EBP,dword ptr [ESP + 0x34]
MOV ESI,dword ptr [ESP + 0x38]
MOV EDI,dword ptr [ESP + 0x80]
PUSH dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EAX + 0x8]
AND EAX,0x7ffffff
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x5c]
MOV EBX,dword ptr [ESP + 0x64]
CALL 0x00318cf0
ADD ESP,0x10
JMP 0x00114f07
MOV EAX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [EAX + 0xc]
JMP 0x00114f07
MOV EBP,ESI
MOV EAX,dword ptr [ESP]
SUB EAX,dword ptr [ESP + 0x48]
CMP EAX,dword ptr [ESP + 0x40]
JNZ 0x001151b5
MOV EAX,EBP
SUB EAX,dword ptr [ESP + 0x4c]
CMP EAX,dword ptr [ESP + 0x58]
JNZ 0x00115198
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH 0x0
PUSH 0x0
PUSH EDX
PUSH dword ptr [ESP + 0x30]
CALL EAX
ADD ESP,0x10
JMP 0x00114f07
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806ac]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8c1
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe7f5f4]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1fd0
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806c4]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x6f
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806e4]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xcf
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806f0]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xe3
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806d4]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe7f5f4]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1fdd
PUSH EAX
CALL 0x002446e0
PUSH EDX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe7f5f4]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1fdc
PUSH EAX
CALL 0x002446e0
PUSH ECX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806a4]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x6ab
PUSH EAX
CALL 0x002446e0
PUSH ESI
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe7f5f4]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1fb2
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe806bc]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x58]
LEA EAX,[EBX + 0xffe7f5f4]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1f9b
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00114c60(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}\n\n" comment (function_definition "void FUN_00114c60(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" primitive_type (function_declarator "FUN_00114c60(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" { (declaration "byte bVar1;" type_identifier 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 "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 7);" (assignment_expression "bVar1 = *(byte *)(param_1 + 7)" identifier = (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (expression_statement "uVar12 = param_1[5];" (assignment_expression "uVar12 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (if_statement "if ((bVar1 & 2) == 0) goto LAB_0011513d;" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011513d;" goto statement_identifier ;)) (expression_statement "uVar3 = param_1[3];" (assignment_expression "uVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if (param_1[4] != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" { (labeled_statement "LAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar12)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;)) })) (if_statement "if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" if (parenthesized_expression "(-1 < param_1[6])" ( (binary_expression "-1 < param_1[6]" number_literal < (subscript_expression "param_1[6]" identifier [ number_literal ])) )) (compound_statement "{\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);" (assignment_expression "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12)" identifier = (binary_expression "param_1[6] + (uint)CARRY4(uVar3,uVar12)" (subscript_expression "param_1[6]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar3,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,uVar12)" identifier (argument_list "(uVar3,uVar12)" ( identifier , identifier )))))) ;) (expression_statement "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);" (assignment_expression "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar12)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar12" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar3 + uVar12" identifier + identifier)) )))) ;) (expression_statement "iVar11 = iVar4 - iVar15;" (assignment_expression "iVar11 = iVar4 - iVar15" identifier = (binary_expression "iVar4 - iVar15" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" if (parenthesized_expression "((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0)" ( (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18))" ( (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)" (call_expression "SBORROW4(iVar4,iVar15)" identifier (argument_list "(iVar4,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar18)" identifier (argument_list "(iVar11,uVar18)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar11 - uVar18) < 0" (cast_expression "(int)(iVar11 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar18)" ( (binary_expression "iVar11 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" { (expression_statement "iVar11 = uVar12 + *(int *)(param_2 + 0x10);" (assignment_expression "iVar11 = uVar12 + *(int *)(param_2 + 0x10)" identifier = (binary_expression "uVar12 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar12 = param_1[0xe];" (assignment_expression "uVar12 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "bVar2 = *(byte *)(uVar12 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(uVar12 + 0x1c)" identifier = (pointer_expression "*(byte *)(uVar12 + 0x1c)" * (cast_expression "(byte *)(uVar12 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x1c)" ( (binary_expression "uVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" if (parenthesized_expression "((bVar2 & 4) == 0)" ( (binary_expression "(bVar2 & 4) == 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" { (labeled_statement "LAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/output.h",0xe3,"offset");" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (expression_statement "uVar18 = *(uint *)(uVar12 + 0x14);" (assignment_expression "uVar18 = *(uint *)(uVar12 + 0x14)" identifier = (pointer_expression "*(uint *)(uVar12 + 0x14)" * (cast_expression "(uint *)(uVar12 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x14)" ( (binary_expression "uVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(uVar12 + 0x18);" (assignment_expression "iVar15 = *(int *)(uVar12 + 0x18)" identifier = (pointer_expression "*(int *)(uVar12 + 0x18)" * (cast_expression "(int *)(uVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x18)" ( (binary_expression "uVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" { (expression_statement "uVar5 = *(uint *)(uVar12 + 0xc);" (assignment_expression "uVar5 = *(uint *)(uVar12 + 0xc)" identifier = (pointer_expression "*(uint *)(uVar12 + 0xc)" * (cast_expression "(uint *)(uVar12 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0xc)" ( (binary_expression "uVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = param_1[0xf];" (assignment_expression "iVar6 = param_1[0xf]" identifier = (subscript_expression "param_1[0xf]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 4)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (if_statement "if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" if (parenthesized_expression "(iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5)" ( (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10)" identifier + (pointer_expression "*(int *)(uVar12 + 0x10)" * (cast_expression "(int *)(uVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x10)" ( (binary_expression "uVar12 + 0x10" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar18,uVar5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,uVar5)" identifier (argument_list "(uVar18,uVar5)" ( identifier , identifier ))))) != (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) || (binary_expression "*(int *)(iVar6 + 0x14) != uVar18 + uVar5" (pointer_expression "*(int *)(iVar6 + 0x14)" * (cast_expression "(int *)(iVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) != (binary_expression "uVar18 + uVar5" identifier + identifier))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" { comment (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" identifier (argument_list "("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" { (expression_statement "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);" (assignment_expression "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc)" identifier = (binary_expression "uVar5 + *(uint *)(iVar6 + 0xc)" identifier + (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;" if (parenthesized_expression "(*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0)" ( (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10)" (pointer_expression "*(int *)(uVar12 + 0x10)" * (cast_expression "(int *)(uVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x10)" ( (binary_expression "uVar12 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar6 + 0x10)" * (cast_expression "(int *)(iVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" identifier (argument_list "(uVar5,*(uint *)(iVar6 + 0xc))" ( identifier , (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))))) != number_literal) )) (goto_statement "goto LAB_0011517b;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" if (parenthesized_expression "((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0))" ( (binary_expression "(-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" (parenthesized_expression "(-1 < iVar15)" ( (binary_expression "-1 < iVar15" number_literal < identifier) )) && (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18)" identifier = (binary_expression "iVar15 + (uint)CARRY4(uVar16,uVar18)" identifier + (cast_expression "(uint)CARRY4(uVar16,uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,uVar18)" identifier (argument_list "(uVar16,uVar18)" ( identifier , identifier )))))) , (comma_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar16 + uVar18)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar16 + uVar18" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar16 + uVar18" identifier + identifier)) )))) , (comma_expression "iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar6 = iVar4 - iVar15" identifier = (binary_expression "iVar4 - iVar15" identifier - identifier)) , (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5))" ( (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)" (call_expression "SBORROW4(iVar4,iVar15)" identifier (argument_list "(iVar4,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar6,uVar5)" identifier (argument_list "(iVar6,uVar5)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar6 - uVar5) < 0" (cast_expression "(int)(iVar6 - uVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - uVar5)" ( (binary_expression "iVar6 - uVar5" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" { (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar18)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar18" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" if (parenthesized_expression "(((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0))" ( (binary_expression "((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)" (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar4 = param_1[1], (bVar2 & 1) == 0)" ( (comma_expression "iVar4 = param_1[1], (bVar2 & 1) == 0" (assignment_expression "iVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) , (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" { comment (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar12)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar7 = *(undefined4 *)(uVar12 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(uVar12 + 4)" identifier = (pointer_expression "*(undefined4 *)(uVar12 + 4)" * (cast_expression "(undefined4 *)(uVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 4)" ( (binary_expression "uVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);" (call_expression "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4)" (parenthesized_expression "(**(code **)(*param_1 + 0x6c))" ( (pointer_expression "**(code **)(*param_1 + 0x6c)" * (pointer_expression "*(code **)(*param_1 + 0x6c)" * (cast_expression "(code **)(*param_1 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x6c)" ( (binary_expression "*param_1 + 0x6c" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,iVar11,uVar7,iVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_7c = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_7c = (**(code **)(*param_1 + 100))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" ( (pointer_expression "**(code **)(*param_1 + 100)" * (pointer_expression "*(code **)(*param_1 + 100)" * (cast_expression "(code **)(*param_1 + 100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 100)" ( (binary_expression "*param_1 + 100" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_7c = local_7c + iVar11;" (assignment_expression "local_7c = local_7c + iVar11" identifier = (binary_expression "local_7c + iVar11" identifier + identifier)) ;) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "piVar19 = puVar20 + 3;" (assignment_expression "piVar19 = puVar20 + 3" identifier = (binary_expression "puVar20 + 3" identifier + number_literal)) ;) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[2] = 0;" (assignment_expression "puVar20[2] = 0" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70 = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_70 = (**(code **)(*param_1 + 100))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" ( (pointer_expression "**(code **)(*param_1 + 100)" * (pointer_expression "*(code **)(*param_1 + 100)" * (cast_expression "(code **)(*param_1 + 100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 100)" ( (binary_expression "*param_1 + 100" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar15 = param_1[0x11];" (assignment_expression "iVar15 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = iVar15 + param_1[0x10];" (assignment_expression "uVar12 = iVar15 + param_1[0x10]" identifier = (binary_expression "iVar15 + param_1[0x10]" identifier + (subscript_expression "param_1[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" if (parenthesized_expression "(iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555)" ( (binary_expression "iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" identifier != (binary_expression "(param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" (parenthesized_expression "(param_1[0x13] - param_1[0x12] >> 2)" ( (binary_expression "param_1[0x13] - param_1[0x12] >> 2" (binary_expression "param_1[0x13] - param_1[0x12]" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) - (subscript_expression "param_1[0x12]" identifier [ number_literal ])) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" { comment (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1)" identifier (argument_list "("../../gold/arm.cc",0x1fb2,"do_write",param_1)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (do_statement "do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);" do (compound_statement "{\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              }" { (expression_statement "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);" (call_expression "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar18 * 4 + 0xc" (binary_expression "uVar18 * 4" identifier * number_literal) + number_literal) , identifier ))) ;) (expression_statement "iVar15 = iVar4;" (assignment_expression "iVar15 = iVar4" identifier = identifier) ;) (if_statement "if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" if (parenthesized_expression "((uint)param_1[0x10] <= uVar18)" ( (binary_expression "(uint)param_1[0x10] <= uVar18" (cast_expression "(uint)param_1[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x10]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" { (expression_statement "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);" (assignment_expression "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" identifier = (cast_expression "(int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" ( (binary_expression "param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(uVar18 - param_1[0x10]) * 0xc" (parenthesized_expression "(uVar18 - param_1[0x10])" ( (binary_expression "uVar18 - param_1[0x10]" identifier - (subscript_expression "param_1[0x10]" identifier [ number_literal ])) )) * number_literal)) )))) ;) (expression_statement "piVar8 = (int *)*piVar21;" (assignment_expression "piVar8 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (if_statement "if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" if (parenthesized_expression "((char)piVar21[2] == '\0')" ( (binary_expression "(char)piVar21[2] == '\0'" (cast_expression "(char)piVar21[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[2]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }" { (expression_statement "uVar5 = piVar21[1];" (assignment_expression "uVar5 = piVar21[1]" identifier = (subscript_expression "piVar21[1]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" if (parenthesized_expression "(*(code **)(*piVar8 + 0xa4) == FUN_00102980)" ( (binary_expression "*(code **)(*piVar8 + 0xa4) == FUN_00102980" (pointer_expression "*(code **)(*piVar8 + 0xa4)" * (cast_expression "(code **)(*piVar8 + 0xa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa4)" ( (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }" { (expression_statement "iVar15 = piVar8[0x37];" (assignment_expression "iVar15 = piVar8[0x37]" identifier = (subscript_expression "piVar8[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" if (parenthesized_expression "((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5)" ( (binary_expression "(uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5" (call_expression "(uint)(piVar8[0x38] - iVar15 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar8[0x38] - iVar15 >> 4)" ( (binary_expression "piVar8[0x38] - iVar15 >> 4" (binary_expression "piVar8[0x38] - iVar15" (subscript_expression "piVar8[0x38]" identifier [ number_literal ]) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" { comment (expression_statement "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;) })) (expression_statement "iVar6 = iVar15 + uVar5 * 0x10;" (assignment_expression "iVar6 = iVar15 + uVar5 * 0x10" identifier = (binary_expression "iVar15 + uVar5 * 0x10" identifier + (binary_expression "uVar5 * 0x10" identifier * number_literal))) ;) (if_statement "if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" if (parenthesized_expression "((char)*(byte *)(iVar6 + 0xb) < '\0')" ( (binary_expression "(char)*(byte *)(iVar6 + 0xb) < '\0'" (cast_expression "(char)*(byte *)(iVar6 + 0xb)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar6 + 0xb)" * (cast_expression "(byte *)(iVar6 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xb)" ( (binary_expression "iVar6 + 0xb" identifier + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }" { (expression_statement "iVar15 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar6 + 0xc)" identifier = (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" else (compound_statement "{\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" { (if_statement "if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" if (parenthesized_expression "((*(byte *)(iVar6 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0xb) & 8)" ( (binary_expression "*(byte *)(iVar6 + 0xb) & 8" (pointer_expression "*(byte *)(iVar6 + 0xb)" * (cast_expression "(byte *)(iVar6 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xb)" ( (binary_expression "iVar6 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" { comment (expression_statement "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);" (call_expression "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15)" identifier (argument_list "("../../gold/object.h",0x6ab,"value",iVar15)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""value"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar9 = *(uint **)(iVar6 + 0xc);" (assignment_expression "puVar9 = *(uint **)(iVar6 + 0xc)" identifier = (pointer_expression "*(uint **)(iVar6 + 0xc)" * (cast_expression "(uint **)(iVar6 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *puVar9;" (assignment_expression "uVar5 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar14 = uVar5 % puVar9[3];" (assignment_expression "uVar14 = uVar5 % puVar9[3]" identifier = (binary_expression "uVar5 % puVar9[3]" identifier % (subscript_expression "puVar9[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar21 = *(int **)(puVar9[2] + uVar14 * 4);" (assignment_expression "piVar21 = *(int **)(puVar9[2] + uVar14 * 4)" identifier = (pointer_expression "*(int **)(puVar9[2] + uVar14 * 4)" * (cast_expression "(int **)(puVar9[2] + uVar14 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9[2] + uVar14 * 4)" ( (binary_expression "puVar9[2] + uVar14 * 4" (subscript_expression "puVar9[2]" identifier [ number_literal ]) + (binary_expression "uVar14 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" if (parenthesized_expression "(piVar21 != (int *)0x0)" ( (binary_expression "piVar21 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" { (expression_statement "uVar13 = ((int *)*piVar21)[1];" (assignment_expression "uVar13 = ((int *)*piVar21)[1]" identifier = (subscript_expression "((int *)*piVar21)[1]" (parenthesized_expression "((int *)*piVar21)" ( (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar10 = (int *)*piVar21;" (assignment_expression "piVar10 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (while_statement "while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" while (parenthesized_expression "(piVar17 = piVar10, uVar5 != uVar13)" ( (comma_expression "piVar17 = piVar10, uVar5 != uVar13" (assignment_expression "piVar17 = piVar10" identifier = identifier) , (binary_expression "uVar5 != uVar13" identifier != identifier)) )) (compound_statement "{\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" { (expression_statement "piVar10 = (int *)*piVar17;" (assignment_expression "piVar10 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;" if (parenthesized_expression "((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               ))" ( (binary_expression "(piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" ( (comma_expression "uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "uVar13 = piVar10[1]" identifier = (subscript_expression "piVar10[1]" identifier [ number_literal ])) , (comma_expression "piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "piVar21 = piVar17" identifier = identifier) , (binary_expression "uVar14 != uVar13 % puVar9[3]" identifier != (binary_expression "uVar13 % puVar9[3]" identifier % (subscript_expression "puVar9[3]" identifier [ number_literal ]))))) ))) )) (goto_statement "goto LAB_0011505f;" goto statement_identifier ;)) })) (if_statement "if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" { (expression_statement "iVar15 = *(int *)(*piVar21 + 8);" (assignment_expression "iVar15 = *(int *)(*piVar21 + 8)" identifier = (pointer_expression "*(int *)(*piVar21 + 8)" * (cast_expression "(int *)(*piVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 8)" ( (binary_expression "*piVar21 + 8" (pointer_expression "*piVar21" * identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00114f07;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" statement_identifier : (expression_statement "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" (assignment_expression "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" identifier = (call_expression "FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" identifier (argument_list "(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" ( identifier , identifier , (binary_expression "*(uint *)(iVar6 + 8) & 0x7ffffff" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) & number_literal) , identifier )))) ;)) }))) }) (else_clause "else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" else (compound_statement "{\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" { (expression_statement "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);" (assignment_expression "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" identifier = (call_expression "(**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa4))" ( (pointer_expression "**(code **)(*piVar8 + 0xa4)" * (pointer_expression "*(code **)(*piVar8 + 0xa4)" * (cast_expression "(code **)(*piVar8 + 0xa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa4)" ( (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,uVar5,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) }))) }) (else_clause "else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" else (compound_statement "{\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" { (if_statement "if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" if (parenthesized_expression "((*(byte *)(piVar8 + 10) & 0xf) != 10)" ( (binary_expression "(*(byte *)(piVar8 + 10) & 0xf) != 10" (parenthesized_expression "(*(byte *)(piVar8 + 10) & 0xf)" ( (binary_expression "*(byte *)(piVar8 + 10) & 0xf" (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" { comment (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fd0,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (expression_statement "iVar15 = piVar8[0xc];" (assignment_expression "iVar15 = piVar8[0xc]" identifier = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) }))) })) (labeled_statement "LAB_00114f07:\n                *piVar19 = iVar15;" statement_identifier : (expression_statement "*piVar19 = iVar15;" (assignment_expression "*piVar19 = iVar15" (pointer_expression "*piVar19" * identifier) = identifier) ;)) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar19 = piVar19 + 1;" (assignment_expression "piVar19 = piVar19 + 1" identifier = (binary_expression "piVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "iVar15 = (**(code **)(*param_1 + 0x68))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" ( (pointer_expression "**(code **)(*param_1 + 0x68)" * (pointer_expression "*(code **)(*param_1 + 0x68)" * (cast_expression "(code **)(*param_1 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x68)" ( (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_7c = local_7c + iVar15;" (assignment_expression "local_7c = local_7c + iVar15" identifier = (binary_expression "local_7c + iVar15" identifier + identifier)) ;) (expression_statement "uVar22 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "uVar22 = (**(code **)(*param_1 + 0x68))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" ( (pointer_expression "**(code **)(*param_1 + 0x68)" * (pointer_expression "*(code **)(*param_1 + 0x68)" * (cast_expression "(code **)(*param_1 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x68)" ( (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar15 = (int)((ulonglong)uVar22 >> 0x20);" (assignment_expression "iVar15 = (int)((ulonglong)uVar22 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_70 = local_70 + (int)uVar22;" (assignment_expression "local_70 = local_70 + (int)uVar22" identifier = (binary_expression "local_70 + (int)uVar22" identifier + (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) ;) })) (if_statement "if (local_7c - iVar11 != uVar3) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" if (parenthesized_expression "(local_7c - iVar11 != uVar3)" ( (binary_expression "local_7c - iVar11 != uVar3" (binary_expression "local_7c - iVar11" identifier - identifier) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" { comment (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" identifier (argument_list "("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" if (parenthesized_expression "((int)piVar19 - (int)puVar20 != uVar16)" ( (binary_expression "(int)piVar19 - (int)puVar20 != uVar16" (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" { comment (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" identifier (argument_list "("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00115121;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) })) (labeled_statement "LAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_write(Output_data_plt_arm<false> * this, Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_91258a::Output_data_plt_arm<false>::do_write\n          (Output_data_plt_arm<false> *this,Output_file *of)\n\n{\n  off_t *poVar1;\n  pointer pIVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  Output_data_space *pOVar8;\n  Output_data_space *pOVar9;\n  Xindex *pXVar10;\n  undefined4 uVar11;\n  Sized_relobj_file<32,_false> *object;\n  _func_int_varargs *p_Var12;\n  Merged_symbol_value<32> *this_00;\n  _Hash_node_base *input_offset;\n  _Hash_node_base *p_Var13;\n  uint uVar14;\n  int iVar15;\n  uchar *puVar16;\n  uint uVar17;\n  Xindex *pXVar18;\n  _Hash_node_base *p_Var19;\n  uint uVar20;\n  int iVar21;\n  uint uVar22;\n  __bucket_type p_Var23;\n  uint uVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  __bucket_type p_Var27;\n  uchar *local_7c;\n  int local_70;\n  \n  bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c;\n  if ((bVar3 & 4) == 0) goto LAB_0011515c;\n  iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);\n  uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_;\n  if ((bVar3 & 2) == 0) goto LAB_0011513d;\n  uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n  if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }\n  if (-1 < iVar21) {\n    uVar24 = (uint)of->file_size_;\n    iVar7 = *(int *)((int)&of->file_size_ + 4);\n    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);\n    uVar14 = (uint)(uVar24 < uVar6 + uVar17);\n    iVar15 = iVar7 - iVar21;\n    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n}\n\n" comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_91258a::Output_data_plt_arm<false>::do_write\n          (Output_data_plt_arm<false> *this,Output_file *of)\n\n{\n  off_t *poVar1;\n  pointer pIVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  Output_data_space *pOVar8;\n  Output_data_space *pOVar9;\n  Xindex *pXVar10;\n  undefined4 uVar11;\n  Sized_relobj_file<32,_false> *object;\n  _func_int_varargs *p_Var12;\n  Merged_symbol_value<32> *this_00;\n  _Hash_node_base *input_offset;\n  _Hash_node_base *p_Var13;\n  uint uVar14;\n  int iVar15;\n  uchar *puVar16;\n  uint uVar17;\n  Xindex *pXVar18;\n  _Hash_node_base *p_Var19;\n  uint uVar20;\n  int iVar21;\n  uint uVar22;\n  __bucket_type p_Var23;\n  uint uVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  __bucket_type p_Var27;\n  uchar *local_7c;\n  int local_70;\n  \n  bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c;\n  if ((bVar3 & 4) == 0) goto LAB_0011515c;\n  iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);\n  uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_;\n  if ((bVar3 & 2) == 0) goto LAB_0011513d;\n  uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n  if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }\n  if (-1 < iVar21) {\n    uVar24 = (uint)of->file_size_;\n    iVar7 = *(int *)((int)&of->file_size_ + 4);\n    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);\n    uVar14 = (uint)(uVar24 < uVar6 + uVar17);\n    iVar15 = iVar7 - iVar21;\n    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_91258a::Output_data_plt_arm<false>::" identifier . identifier : : identifier < false > : :) (function_declarator "do_write\n          (Output_data_plt_arm<false> *this,Output_file *of)" identifier (parameter_list "(Output_data_plt_arm<false> *this,Output_file *of)" ( (parameter_declaration "Output_data_plt_arm<false> *this" type_identifier (ERROR "<false>" < false >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) (compound_statement "{\n  off_t *poVar1;\n  pointer pIVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  Output_data_space *pOVar8;\n  Output_data_space *pOVar9;\n  Xindex *pXVar10;\n  undefined4 uVar11;\n  Sized_relobj_file<32,_false> *object;\n  _func_int_varargs *p_Var12;\n  Merged_symbol_value<32> *this_00;\n  _Hash_node_base *input_offset;\n  _Hash_node_base *p_Var13;\n  uint uVar14;\n  int iVar15;\n  uchar *puVar16;\n  uint uVar17;\n  Xindex *pXVar18;\n  _Hash_node_base *p_Var19;\n  uint uVar20;\n  int iVar21;\n  uint uVar22;\n  __bucket_type p_Var23;\n  uint uVar24;\n  uchar *puVar25;\n  uchar *puVar26;\n  __bucket_type p_Var27;\n  uchar *local_7c;\n  int local_70;\n  \n  bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c;\n  if ((bVar3 & 4) == 0) goto LAB_0011515c;\n  iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);\n  uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_;\n  if ((bVar3 & 2) == 0) goto LAB_0011513d;\n  uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n  if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }\n  if (-1 < iVar21) {\n    uVar24 = (uint)of->file_size_;\n    iVar7 = *(int *)((int)&of->file_size_ + 4);\n    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);\n    uVar14 = (uint)(uVar24 < uVar6 + uVar17);\n    iVar15 = iVar7 - iVar21;\n    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n}" { (declaration "off_t *poVar1;" type_identifier (pointer_declarator "*poVar1" * identifier) ;) (declaration "pointer pIVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "Output_data_space *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "Output_data_space *pOVar9;" type_identifier (pointer_declarator "*pOVar9" * identifier) ;) (declaration "Xindex *pXVar10;" type_identifier (pointer_declarator "*pXVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<32,_false> *object;" (comma_expression "Sized_relobj_file<32,_false> *object" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *object" identifier > (pointer_expression "*object" * identifier))) ;) (declaration "_func_int_varargs *p_Var12;" type_identifier (pointer_declarator "*p_Var12" * identifier) ;) (expression_statement "Merged_symbol_value<32> *this_00;" (binary_expression "Merged_symbol_value<32> *this_00" (binary_expression "Merged_symbol_value<32" identifier < number_literal) > (pointer_expression "*this_00" * identifier)) ;) (declaration "_Hash_node_base *input_offset;" type_identifier (pointer_declarator "*input_offset" * identifier) ;) (declaration "_Hash_node_base *p_Var13;" type_identifier (pointer_declarator "*p_Var13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "Xindex *pXVar18;" type_identifier (pointer_declarator "*pXVar18" * identifier) ;) (declaration "_Hash_node_base *p_Var19;" type_identifier (pointer_declarator "*p_Var19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "__bucket_type p_Var23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uchar *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "__bucket_type p_Var27;" type_identifier identifier ;) (declaration "uchar *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (expression_statement "bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c;" (assignment_expression "bVar3 = (this->super_Output_section_data).super_Output_data.field_0x1c" identifier = (field_expression "(this->super_Output_section_data).super_Output_data.field_0x1c" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar3 & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((bVar3 & 4) == 0)" ( (binary_expression "(bVar3 & 4) == 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (expression_statement "iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);" (assignment_expression "iVar21 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.offset_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.offset_" & (field_expression "(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "uVar17 = (uint)(this->super_Output_section_data).super_Output_data.offset_" identifier = (field_expression "(uint)(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(uint)(this->super_Output_section_data).super_Output_data" (call_expression "(uint)(this->super_Output_section_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar3 & 2) == 0) goto LAB_0011513d;" if (parenthesized_expression "((bVar3 & 2) == 0)" ( (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" ( (binary_expression "bVar3 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011513d;" goto statement_identifier ;)) (expression_statement "uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;" (assignment_expression "uVar6 = (uint)(this->super_Output_section_data).super_Output_data.data_size_" identifier = (field_expression "(uint)(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(uint)(this->super_Output_section_data).super_Output_data" (call_expression "(uint)(this->super_Output_section_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (if_statement "if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }" if (parenthesized_expression "(*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0)" ( (binary_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0" (pointer_expression "*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4" (cast_expression "(int)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }" { (labeled_statement "LAB_0011517b:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;))) })) (if_statement "if (-1 < iVar21) {\n    uVar24 = (uint)of->file_size_;\n    iVar7 = *(int *)((int)&of->file_size_ + 4);\n    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);\n    uVar14 = (uint)(uVar24 < uVar6 + uVar17);\n    iVar15 = iVar7 - iVar21;\n    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n  }" if (parenthesized_expression "(-1 < iVar21)" ( (binary_expression "-1 < iVar21" number_literal < identifier) )) (compound_statement "{\n    uVar24 = (uint)of->file_size_;\n    iVar7 = *(int *)((int)&of->file_size_ + 4);\n    iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);\n    uVar14 = (uint)(uVar24 < uVar6 + uVar17);\n    iVar15 = iVar7 - iVar21;\n    if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n  }" { (expression_statement "uVar24 = (uint)of->file_size_;" (assignment_expression "uVar24 = (uint)of->file_size_" identifier = (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier))) ;) (expression_statement "iVar7 = *(int *)((int)&of->file_size_ + 4);" (assignment_expression "iVar7 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17);" (assignment_expression "iVar21 = iVar21 + (uint)CARRY4(uVar6,uVar17)" identifier = (binary_expression "iVar21 + (uint)CARRY4(uVar6,uVar17)" identifier + (cast_expression "(uint)CARRY4(uVar6,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar6,uVar17)" identifier (argument_list "(uVar6,uVar17)" ( identifier , identifier )))))) ;) (expression_statement "uVar14 = (uint)(uVar24 < uVar6 + uVar17);" (assignment_expression "uVar14 = (uint)(uVar24 < uVar6 + uVar17)" identifier = (call_expression "(uint)(uVar24 < uVar6 + uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < uVar6 + uVar17)" ( (binary_expression "uVar24 < uVar6 + uVar17" identifier < (binary_expression "uVar6 + uVar17" identifier + identifier)) )))) ;) (expression_statement "iVar15 = iVar7 - iVar21;" (assignment_expression "iVar15 = iVar7 - iVar21" identifier = (binary_expression "iVar7 - iVar21" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0) {\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" if (parenthesized_expression "((SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0)" ( (binary_expression "(SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)) == (int)(iVar15 - uVar14) < 0" (parenthesized_expression "(SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14))" ( (binary_expression "SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar14)" (call_expression "SBORROW4(iVar7,iVar21)" identifier (argument_list "(iVar7,iVar21)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar15,uVar14)" identifier (argument_list "(iVar15,uVar14)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar15 - uVar14) < 0" (cast_expression "(int)(iVar15 - uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar15 - uVar14)" ( (binary_expression "iVar15 - uVar14" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n      puVar16 = of->base_ + uVar17;\n      pOVar8 = this->got_plt_;\n      bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;\n      if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }\n      uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;\n      iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);\n      if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" { (expression_statement "puVar16 = of->base_ + uVar17;" (assignment_expression "puVar16 = of->base_ + uVar17" identifier = (binary_expression "of->base_ + uVar17" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (expression_statement "pOVar8 = this->got_plt_;" (assignment_expression "pOVar8 = this->got_plt_" identifier = (field_expression "this->got_plt_" identifier -> field_identifier)) ;) (expression_statement "bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c;" (assignment_expression "bVar4 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c" identifier = (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n              field_0x1c" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar4 & 4) == 0) {\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }" if (parenthesized_expression "((bVar4 & 4) == 0)" ( (binary_expression "(bVar4 & 4) == 0" (parenthesized_expression "(bVar4 & 4)" ( (binary_expression "bVar4 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n      }" { (labeled_statement "LAB_0011515c:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;))) })) (expression_statement "uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_;" (assignment_expression "uVar17 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_" identifier = (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.offset_" (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data" (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data" (call_expression "(uint)(pOVar8->super_Output_section_data_build)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4);" (assignment_expression "iVar21 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4)" * (cast_expression "(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_ + 4" (cast_expression "(int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_" & (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data.offset_" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                              super_Output_data" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar4 & 2) != 0) {\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" if (parenthesized_expression "((bVar4 & 2) != 0)" ( (binary_expression "(bVar4 & 2) != 0" (parenthesized_expression "(bVar4 & 2)" ( (binary_expression "bVar4 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;\n        iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);\n        pOVar9 = this->got_irelative_;\n        bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar5 & 4) == 0) goto LAB_0011515c;\n        if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }\n        if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" { (expression_statement "uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_;" (assignment_expression "uVar14 = (uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" identifier = (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.data_size_" (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data" (field_expression "(uint)(pOVar8->super_Output_section_data_build).super_Output_section_data" (call_expression "(uint)(pOVar8->super_Output_section_data_build)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4);" (assignment_expression "iVar15 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_" & (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.data_size_" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data" (field_expression "(pOVar8->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pOVar9 = this->got_irelative_;" (assignment_expression "pOVar9 = this->got_irelative_" identifier = (field_expression "this->got_irelative_" identifier -> field_identifier)) ;) (expression_statement "bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;" (assignment_expression "bVar5 = (pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c" identifier = (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar9->super_Output_section_data_build)" ( (field_expression "pOVar9->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar5 & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((bVar5 & 4) == 0)" ( (binary_expression "(bVar5 & 4) == 0" (parenthesized_expression "(bVar5 & 4)" ( (binary_expression "bVar5 & 4" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (if_statement "if (iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }" if (parenthesized_expression "(iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14)" ( (binary_expression "iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4) ||\n            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14" (binary_expression "iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14) !=\n            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4)" (binary_expression "iVar21 + iVar15 + (uint)CARRY4(uVar17,uVar14)" (binary_expression "iVar21 + iVar15" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar17,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar17,uVar14)" identifier (argument_list "(uVar17,uVar14)" ( identifier , identifier ))))) != (pointer_expression "*(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4)" * (cast_expression "(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_ + 4" (cast_expression "(int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_" & (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.offset_" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar9->super_Output_section_data_build)" ( (field_expression "pOVar9->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) || (binary_expression "(int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_ != uVar17 + uVar14" (cast_expression "(int)(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data.offset_" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                 super_Output_data" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar9->super_Output_section_data_build)" ( (field_expression "pOVar9->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) != (binary_expression "uVar17 + uVar14" identifier + identifier))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1f9b,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1f9b,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if ((bVar5 & 2) != 0) {\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" if (parenthesized_expression "((bVar5 & 2) != 0)" ( (binary_expression "(bVar5 & 2) != 0" (parenthesized_expression "(bVar5 & 2)" ( (binary_expression "bVar5 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;\n          uVar22 = uVar14 + (int)*poVar1;\n          if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;\n          if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" { (expression_statement "poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_;" (assignment_expression "poVar1 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_" identifier = (pointer_expression "&(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_" & (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data.data_size_" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data.\n                    super_Output_data" (field_expression "(pOVar9->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar9->super_Output_section_data_build)" ( (field_expression "pOVar9->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "uVar22 = uVar14 + (int)*poVar1;" (assignment_expression "uVar22 = uVar14 + (int)*poVar1" identifier = (binary_expression "uVar14 + (int)*poVar1" identifier + (cast_expression "(int)*poVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*poVar1" * identifier)))) ;) (if_statement "if (iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0) goto LAB_0011517b;" if (parenthesized_expression "(iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0)" ( (binary_expression "iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1) != 0" (binary_expression "iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4) +\n              (uint)CARRY4(uVar14,(uint)*poVar1)" (binary_expression "iVar15 + *(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4)" identifier + (pointer_expression "*(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_" & (field_expression "(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data.data_size_" (field_expression "(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data.super_Output_data" (field_expression "(pOVar9->super_Output_section_data_build).\n                                      super_Output_section_data" (parenthesized_expression "(pOVar9->super_Output_section_data_build)" ( (field_expression "pOVar9->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar14,(uint)*poVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar14,(uint)*poVar1)" identifier (argument_list "(uVar14,(uint)*poVar1)" ( identifier , (binary_expression "(uint)*poVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) != number_literal) )) (goto_statement "goto LAB_0011517b;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)) {\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }" if (parenthesized_expression "((-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0))" ( (binary_expression "(-1 < iVar21) &&\n             (iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)" (parenthesized_expression "(-1 < iVar21)" ( (binary_expression "-1 < iVar21" number_literal < identifier) )) && (parenthesized_expression "(iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0)" ( (comma_expression "iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17),\n             uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0" (assignment_expression "iVar21 = iVar21 + (uint)CARRY4(uVar22,uVar17)" identifier = (binary_expression "iVar21 + (uint)CARRY4(uVar22,uVar17)" identifier + (cast_expression "(uint)CARRY4(uVar22,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar22,uVar17)" identifier (argument_list "(uVar22,uVar17)" ( identifier , identifier )))))) , (comma_expression "uVar24 = (uint)(uVar24 < uVar22 + uVar17), iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0" (assignment_expression "uVar24 = (uint)(uVar24 < uVar22 + uVar17)" identifier = (call_expression "(uint)(uVar24 < uVar22 + uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < uVar22 + uVar17)" ( (binary_expression "uVar24 < uVar22 + uVar17" identifier < (binary_expression "uVar22 + uVar17" identifier + identifier)) )))) , (comma_expression "iVar15 = iVar7 - iVar21,\n             (SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0" (assignment_expression "iVar15 = iVar7 - iVar21" identifier = (binary_expression "iVar7 - iVar21" identifier - identifier)) , (binary_expression "(SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)) == (int)(iVar15 - uVar24) < 0" (parenthesized_expression "(SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24))" ( (binary_expression "SBORROW4(iVar7,iVar21) != SBORROW4(iVar15,uVar24)" (call_expression "SBORROW4(iVar7,iVar21)" identifier (argument_list "(iVar7,iVar21)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar15,uVar24)" identifier (argument_list "(iVar15,uVar24)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar15 - uVar24) < 0" (cast_expression "(int)(iVar15 - uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar15 - uVar24)" ( (binary_expression "iVar15 - uVar24" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n            puVar25 = of->base_ + uVar17;\n            if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }\n            uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;\n            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);\n            iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);\n            local_7c = puVar16 + iVar21;\n            puVar25[0] = '\0';\n            puVar25[1] = '\0';\n            puVar25[2] = '\0';\n            puVar25[3] = '\0';\n            puVar26 = puVar25 + 0xc;\n            puVar25[4] = '\0';\n            puVar25[5] = '\0';\n            puVar25[6] = '\0';\n            puVar25[7] = '\0';\n            puVar25[8] = '\0';\n            puVar25[9] = '\0';\n            puVar25[10] = '\0';\n            puVar25[0xb] = '\0';\n            local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);\n            uVar17 = this->irelative_count_ + this->count_;\n            if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }\n            if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }\n            if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }\n            if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }\n            return;\n          }" { (expression_statement "puVar25 = of->base_ + uVar17;" (assignment_expression "puVar25 = of->base_ + uVar17" identifier = (binary_expression "of->base_ + uVar17" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if (((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }" if (parenthesized_expression "(((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0))" ( (binary_expression "((bVar3 & 1) == 0) ||\n               (pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)" (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0)" ( (comma_expression "pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_,\n               (bVar4 & 1) == 0" (assignment_expression "pXVar10 = *(Xindex **)&(this->super_Output_section_data).super_Output_data.address_" identifier = (pointer_expression "*(Xindex **)&(this->super_Output_section_data).super_Output_data.address_" * (cast_expression "(Xindex **)&(this->super_Output_section_data).super_Output_data.address_" ( (type_descriptor "Xindex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.address_" & (field_expression "(this->super_Output_section_data).super_Output_data.address_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) , (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (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 "uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_;" (assignment_expression "uVar11 = (undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_" identifier = (field_expression "(undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data.address_" (field_expression "(undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data.\n                     super_Output_data" (field_expression "(undefined4)\n                     (pOVar8->super_Output_section_data_build).super_Output_section_data" (call_expression "(undefined4)\n                     (pOVar8->super_Output_section_data_build)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(pOVar8->super_Output_section_data_build)" ( (field_expression "pOVar8->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10);" (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])\n                      (this,puVar16,uVar11,pXVar10)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this,puVar16,uVar11,pXVar10)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this);" (assignment_expression "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this)" identifier = (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])\n                               (this)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "local_7c = puVar16 + iVar21;" (assignment_expression "local_7c = puVar16 + iVar21" identifier = (binary_expression "puVar16 + iVar21" identifier + identifier)) ;) (expression_statement "puVar25[0] = '\0';" (assignment_expression "puVar25[0] = '\0'" (subscript_expression "puVar25[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[1] = '\0';" (assignment_expression "puVar25[1] = '\0'" (subscript_expression "puVar25[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[2] = '\0';" (assignment_expression "puVar25[2] = '\0'" (subscript_expression "puVar25[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[3] = '\0';" (assignment_expression "puVar25[3] = '\0'" (subscript_expression "puVar25[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar26 = puVar25 + 0xc;" (assignment_expression "puVar26 = puVar25 + 0xc" identifier = (binary_expression "puVar25 + 0xc" identifier + number_literal)) ;) (expression_statement "puVar25[4] = '\0';" (assignment_expression "puVar25[4] = '\0'" (subscript_expression "puVar25[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[5] = '\0';" (assignment_expression "puVar25[5] = '\0'" (subscript_expression "puVar25[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[6] = '\0';" (assignment_expression "puVar25[6] = '\0'" (subscript_expression "puVar25[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[7] = '\0';" (assignment_expression "puVar25[7] = '\0'" (subscript_expression "puVar25[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[8] = '\0';" (assignment_expression "puVar25[8] = '\0'" (subscript_expression "puVar25[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[9] = '\0';" (assignment_expression "puVar25[9] = '\0'" (subscript_expression "puVar25[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[10] = '\0';" (assignment_expression "puVar25[10] = '\0'" (subscript_expression "puVar25[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar25[0xb] = '\0';" (assignment_expression "puVar25[0xb] = '\0'" (subscript_expression "puVar25[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this);" (assignment_expression "local_70 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this)" identifier = (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )(this)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]\n                       )" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "uVar17 = this->irelative_count_ + this->count_;" (assignment_expression "uVar17 = this->irelative_count_ + this->count_" identifier = (binary_expression "this->irelative_count_ + this->count_" (field_expression "this->irelative_count_" identifier -> field_identifier) + (field_expression "this->count_" identifier -> field_identifier))) ;) (if_statement "if (this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }" if (parenthesized_expression "(this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555)" ( (binary_expression "this->irelative_count_ !=\n                ((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555" (field_expression "this->irelative_count_" identifier -> field_identifier) != (binary_expression "((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2) * -0x55555555" (parenthesized_expression "((int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2)" ( (ERROR "(int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::" (comma_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std" (binary_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data" (binary_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false" (binary_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)" (cast_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->irelative_data_vec_).\n                      super__Vector_base" (parenthesized_expression "(this->irelative_data_vec_)" ( (field_expression "this->irelative_data_vec_" identifier -> field_identifier) )) . field_identifier)) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Output_data_plt_arm" : : identifier) < false) > (ERROR "::" : :) identifier) , identifier) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base<(anonymous_namespace)" (binary_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish -\n                 (int)(this->irelative_data_vec_).\n                      super__Vector_base" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_finish" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl" (binary_expression "Output_data_plt_arm<false>::IRelative_data>_" (binary_expression "Output_data_plt_arm<false>::IRelative_data" (binary_expression "Output_data_plt_arm<false" identifier < false) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(this->irelative_data_vec_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->irelative_data_vec_).\n                      super__Vector_base" (parenthesized_expression "(this->irelative_data_vec_)" ( (field_expression "this->irelative_data_vec_" identifier -> field_identifier) )) . field_identifier))) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Output_data_plt_arm<false>::IRelative_data,_std" (binary_expression "Output_data_plt_arm<false>::IRelative_data" (binary_expression "Output_data_plt_arm<false" identifier < false) > (ERROR "::" : :) identifier) , identifier) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (binary_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start >> 2" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl._M_start" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                      ._M_impl" (binary_expression "Output_data_plt_arm<false>::IRelative_data>_" (binary_expression "Output_data_plt_arm<false>::IRelative_data" (binary_expression "Output_data_plt_arm<false" identifier < false) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1fb2,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fb2,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if (uVar17 != 0) {\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar24 = 0;\n              do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);\n            }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              } while (uVar17 != uVar24);" do (compound_statement "{\n                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);\n                pXVar18 = pXVar10;\n                if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }\nLAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;\n                uVar24 = uVar24 + 1;\n                puVar26 = puVar26 + 4;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_7c = local_7c + iVar21;\n                iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);\n                local_70 = local_70 + iVar21;\n              }" { (expression_statement "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70);" (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])\n                          (this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this,local_7c,uVar11,pXVar10,uVar24 * 4 + 0xc,local_70)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar24 * 4 + 0xc" (binary_expression "uVar24 * 4" identifier * number_literal) + number_literal) , identifier ))) ;) (expression_statement "pXVar18 = pXVar10;" (assignment_expression "pXVar18 = pXVar10" identifier = identifier) ;) (if_statement "if (this->count_ <= uVar24) {\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }" if (parenthesized_expression "(this->count_ <= uVar24)" ( (binary_expression "this->count_ <= uVar24" (field_expression "this->count_" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n                  pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);\n                  object = (pIVar2->u_).local.relobj;\n                  if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }\n                }" { (ERROR "pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std::allocator<(anonymous_namespace)::" (comma_expression "pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data,_std" (binary_expression "pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false>::IRelative_data" (binary_expression "pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)::Output_data_plt_arm<false" (assignment_expression "pIVar2 = (this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->irelative_data_vec_).\n                           super__Vector_base<(anonymous_namespace)" (field_expression "(this->irelative_data_vec_).\n                           super__Vector_base" (parenthesized_expression "(this->irelative_data_vec_)" ( (field_expression "this->irelative_data_vec_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Output_data_plt_arm" : : identifier) < false) > (ERROR "::" : :) identifier) , identifier) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_);" (binary_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start + (uVar24 - this->count_)" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl._M_start" (field_expression "Output_data_plt_arm<false>::IRelative_data>_>\n                           ._M_impl" (binary_expression "Output_data_plt_arm<false>::IRelative_data>_" (binary_expression "Output_data_plt_arm<false>::IRelative_data" (binary_expression "Output_data_plt_arm<false" identifier < false) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (parenthesized_expression "(uVar24 - this->count_)" ( (binary_expression "uVar24 - this->count_" identifier - (field_expression "this->count_" identifier -> field_identifier)) ))) ;) (expression_statement "object = (pIVar2->u_).local.relobj;" (assignment_expression "object = (pIVar2->u_).local.relobj" identifier = (field_expression "(pIVar2->u_).local.relobj" (field_expression "(pIVar2->u_).local" (parenthesized_expression "(pIVar2->u_)" ( (field_expression "pIVar2->u_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar2->symbol_is_global_ == false) {\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }\n                  else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }" if (parenthesized_expression "(pIVar2->symbol_is_global_ == false)" ( (binary_expression "pIVar2->symbol_is_global_ == false" (field_expression "pIVar2->symbol_is_global_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    uVar14 = (pIVar2->u_).local.index;\n                    p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];\n                    if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }\n                  }" { (expression_statement "uVar14 = (pIVar2->u_).local.index;" (assignment_expression "uVar14 = (pIVar2->u_).local.index" identifier = (field_expression "(pIVar2->u_).local.index" (field_expression "(pIVar2->u_).local" (parenthesized_expression "(pIVar2->u_)" ( (field_expression "pIVar2->u_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29];" (assignment_expression "p_Var12 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29]" identifier = (subscript_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x29]" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              _vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value) {\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }\n                    else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }" if (parenthesized_expression "(p_Var12 == gold::Sized_relobj_file<32,_false>::do_local_symbol_value)" ( (ERROR "p_Var12 == gold::" (binary_expression "p_Var12 == gold" identifier == identifier) : :) (comma_expression "Sized_relobj_file<32,_false>::do_local_symbol_value" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::do_local_symbol_value" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n                      iVar21 = (int)*(off_t *)&object->local_values_;\n                      if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar21 = iVar21 + uVar14 * 0x10;\n                      if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }\n                    }" { (expression_statement "iVar21 = (int)*(off_t *)&object->local_values_;" (assignment_expression "iVar21 = (int)*(off_t *)&object->local_values_" identifier = (cast_expression "(int)*(off_t *)&object->local_values_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(off_t *)&object->local_values_" * (cast_expression "(off_t *)&object->local_values_" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&object->local_values_" & (field_expression "object->local_values_" identifier -> field_identifier)))))) ;) (if_statement "if ((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }" if (parenthesized_expression "((uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14)" ( (binary_expression "(uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4) <= uVar14" (call_expression "(uint)((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4)" ( (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21 >> 4" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish - iVar21" (field_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl._M_finish" (field_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                                      ._M_impl" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold::Symbol_value<32" (binary_expression "(int)(object->local_values_).\n                                      super__Vector_base<gold" (cast_expression "(int)(object->local_values_).\n                                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(object->local_values_).\n                                      super__Vector_base" (parenthesized_expression "(object->local_values_)" ( (field_expression "object->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) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n                      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;)) })) (expression_statement "iVar21 = iVar21 + uVar14 * 0x10;" (assignment_expression "iVar21 = iVar21 + uVar14 * 0x10" identifier = (binary_expression "iVar21 + uVar14 * 0x10" identifier + (binary_expression "uVar14 * 0x10" identifier * number_literal))) ;) (if_statement "if ((char)*(byte *)(iVar21 + 0xb) < '\0') {\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }" if (parenthesized_expression "((char)*(byte *)(iVar21 + 0xb) < '\0')" ( (binary_expression "(char)*(byte *)(iVar21 + 0xb) < '\0'" (cast_expression "(char)*(byte *)(iVar21 + 0xb)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar21 + 0xb)" * (cast_expression "(byte *)(iVar21 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xb)" ( (binary_expression "iVar21 + 0xb" identifier + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        pXVar18 = *(Xindex **)(iVar21 + 0xc);\n                      }" { (expression_statement "pXVar18 = *(Xindex **)(iVar21 + 0xc);" (assignment_expression "pXVar18 = *(Xindex **)(iVar21 + 0xc)" identifier = (pointer_expression "*(Xindex **)(iVar21 + 0xc)" * (cast_expression "(Xindex **)(iVar21 + 0xc)" ( (type_descriptor "Xindex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }" else (compound_statement "{\n                        if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }\n                        this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);\n                        uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;\n                        input_offset = (_Hash_node_base *)this_00->input_value_;\n                        uVar20 = (uint)input_offset % uVar14;\n                        p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];\n                        if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);\n                      }" { (if_statement "if ((*(byte *)(iVar21 + 0xb) & 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }" if (parenthesized_expression "((*(byte *)(iVar21 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0xb) & 8)" ( (binary_expression "*(byte *)(iVar21 + 0xb) & 8" (pointer_expression "*(byte *)(iVar21 + 0xb)" * (cast_expression "(byte *)(iVar21 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xb)" ( (binary_expression "iVar21 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                          gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");\n                        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x6ab,"value");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x6ab,"value");" (call_expression "do_gold_unreachable("../../gold/object.h",0x6ab,"value")" identifier (argument_list "("../../gold/object.h",0x6ab,"value")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""value"" " string_content ") ))) ;)) })) (expression_statement "this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc);" (assignment_expression "this_00 = *(Merged_symbol_value<32> **)(iVar21 + 0xc)" identifier = (pointer_expression "*(Merged_symbol_value<32> **)(iVar21 + 0xc)" * (call_expression "(Merged_symbol_value<32> **)(iVar21 + 0xc)" (parenthesized_expression "(Merged_symbol_value<32> **)" ( (binary_expression "Merged_symbol_value<32> **" (binary_expression "Merged_symbol_value<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count;" (assignment_expression "uVar14 = (this_00->output_addresses_)._M_h._M_bucket_count" identifier = (field_expression "(this_00->output_addresses_)._M_h._M_bucket_count" (field_expression "(this_00->output_addresses_)._M_h" (parenthesized_expression "(this_00->output_addresses_)" ( (field_expression "this_00->output_addresses_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "input_offset = (_Hash_node_base *)this_00->input_value_;" (assignment_expression "input_offset = (_Hash_node_base *)this_00->input_value_" identifier = (cast_expression "(_Hash_node_base *)this_00->input_value_" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this_00->input_value_" identifier -> field_identifier))) ;) (expression_statement "uVar20 = (uint)input_offset % uVar14;" (assignment_expression "uVar20 = (uint)input_offset % uVar14" identifier = (binary_expression "(uint)input_offset % uVar14" (cast_expression "(uint)input_offset" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)) ;) (expression_statement "p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20];" (assignment_expression "p_Var27 = (this_00->output_addresses_)._M_h._M_buckets[uVar20]" identifier = (subscript_expression "(this_00->output_addresses_)._M_h._M_buckets[uVar20]" (field_expression "(this_00->output_addresses_)._M_h._M_buckets" (field_expression "(this_00->output_addresses_)._M_h" (parenthesized_expression "(this_00->output_addresses_)" ( (field_expression "this_00->output_addresses_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ identifier ])) ;) (if_statement "if (p_Var27 != (__bucket_type)0x0) {\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }" if (parenthesized_expression "(p_Var27 != (__bucket_type)0x0)" ( (binary_expression "p_Var27 != (__bucket_type)0x0" identifier != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n                          p_Var19 = p_Var27->_M_nxt[1]._M_nxt;\n                          p_Var13 = p_Var27->_M_nxt;\n                          while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }\n                          if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }\n                        }" { (expression_statement "p_Var19 = p_Var27->_M_nxt[1]._M_nxt;" (assignment_expression "p_Var19 = p_Var27->_M_nxt[1]._M_nxt" identifier = (field_expression "p_Var27->_M_nxt[1]._M_nxt" (subscript_expression "p_Var27->_M_nxt[1]" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var13 = p_Var27->_M_nxt;" (assignment_expression "p_Var13 = p_Var27->_M_nxt" identifier = (field_expression "p_Var27->_M_nxt" identifier -> field_identifier)) ;) (while_statement "while (p_Var23 = p_Var13, input_offset != p_Var19) {\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }" while (parenthesized_expression "(p_Var23 = p_Var13, input_offset != p_Var19)" ( (comma_expression "p_Var23 = p_Var13, input_offset != p_Var19" (assignment_expression "p_Var23 = p_Var13" identifier = identifier) , (binary_expression "input_offset != p_Var19" identifier != identifier)) )) (compound_statement "{\n                            p_Var13 = p_Var23->_M_nxt;\n                            if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;\n                          }" { (expression_statement "p_Var13 = p_Var23->_M_nxt;" (assignment_expression "p_Var13 = p_Var23->_M_nxt" identifier = (field_expression "p_Var23->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if ((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)) goto LAB_0011505f;" if (parenthesized_expression "((p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14))" ( (binary_expression "(p_Var13 == (_Hash_node_base *)0x0) ||\n                               (p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)" (parenthesized_expression "(p_Var13 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var13 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14)" ( (comma_expression "p_Var19 = p_Var13[1]._M_nxt, p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14" (assignment_expression "p_Var19 = p_Var13[1]._M_nxt" identifier = (field_expression "p_Var13[1]._M_nxt" (subscript_expression "p_Var13[1]" identifier [ number_literal ]) . field_identifier)) , (comma_expression "p_Var27 = p_Var23,\n                               uVar20 != (uint)p_Var19 % uVar14" (assignment_expression "p_Var27 = p_Var23" identifier = identifier) , (binary_expression "uVar20 != (uint)p_Var19 % uVar14" identifier != (binary_expression "(uint)p_Var19 % uVar14" (cast_expression "(uint)p_Var19" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)))) ))) )) (goto_statement "goto LAB_0011505f;" goto statement_identifier ;)) })) (if_statement "if (p_Var27->_M_nxt != (_Hash_node_base *)0x0) {\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }" if (parenthesized_expression "(p_Var27->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var27->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                            pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;\n                            goto LAB_00114f07;\n                          }" { (expression_statement "pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt;" (assignment_expression "pXVar18 = (Xindex *)p_Var27->_M_nxt[2]._M_nxt" identifier = (cast_expression "(Xindex *)p_Var27->_M_nxt[2]._M_nxt" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var27->_M_nxt[2]._M_nxt" (subscript_expression "p_Var27->_M_nxt[2]" (field_expression "p_Var27->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) ;) (goto_statement "goto LAB_00114f07;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011505f:\n                        pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);" statement_identifier : (expression_statement "pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset);" (binary_expression "pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32>::value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset)" (binary_expression "pXVar18 = (Xindex *)\n                                  gold::Merged_symbol_value<32" (assignment_expression "pXVar18 = (Xindex *)\n                                  gold" identifier = (cast_expression "(Xindex *)\n                                  gold" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::Merged_symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) (call_expression "value_from_output_section\n                                            (this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset)" identifier (argument_list "(this_00,(Relobj *)object,\n                                             *(uint *)(iVar21 + 8) & 0x7ffffff,\n                                             (Elf_Addr)input_offset)" ( identifier , (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "*(uint *)(iVar21 + 8) & 0x7ffffff" (pointer_expression "*(uint *)(iVar21 + 8)" * (cast_expression "(uint *)(iVar21 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) )))) & number_literal) , (cast_expression "(Elf_Addr)input_offset" ( (type_descriptor "Elf_Addr" type_identifier) ) identifier) )))) ;)) }))) }) (else_clause "else {\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }" else (compound_statement "{\n                      pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);\n                    }" { (expression_statement "pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0);" (assignment_expression "pXVar18 = (Xindex *)(*p_Var12)(object,uVar14,0,0)" identifier = (cast_expression "(Xindex *)(*p_Var12)(object,uVar14,0,0)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var12)(object,uVar14,0,0)" (parenthesized_expression "(*p_Var12)" ( (pointer_expression "*p_Var12" * identifier) )) (argument_list "(object,uVar14,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) }))) }) (else_clause "else {\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }" else (compound_statement "{\n                    if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;\n                  }" { (if_statement "if (((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10) {\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" if (parenthesized_expression "(((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10)" ( (binary_expression "((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf) != 10" (parenthesized_expression "((object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf)" ( (binary_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ &\n                        0xf" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1fd0,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fd0,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (expression_statement "pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_;" (assignment_expression "pXVar18 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_" identifier = (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                              xindex_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) }))) })) (labeled_statement "LAB_00114f07:\n                *(Xindex **)puVar26 = pXVar18;" statement_identifier : (expression_statement "*(Xindex **)puVar26 = pXVar18;" (assignment_expression "*(Xindex **)puVar26 = pXVar18" (pointer_expression "*(Xindex **)puVar26" * (cast_expression "(Xindex **)puVar26" ( (type_descriptor "Xindex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;)) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + 4;" (assignment_expression "puVar26 = puVar26 + 4" identifier = (binary_expression "puVar26 + 4" identifier + number_literal)) ;) (expression_statement "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);" (assignment_expression "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this)" identifier = (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "local_7c = local_7c + iVar21;" (assignment_expression "local_7c = local_7c + iVar21" identifier = (binary_expression "local_7c + iVar21" identifier + identifier)) ;) (expression_statement "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this);" (assignment_expression "iVar21 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this)" identifier = (call_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])(this)" (parenthesized_expression "(*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a])" ( (pointer_expression "*(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a]" * (subscript_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data\n                           [0x1a]" (field_expression "(this->super_Output_section_data).super_Output_data._vptr_Output_data" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "local_70 = local_70 + iVar21;" (assignment_expression "local_70 = local_70 + iVar21" identifier = (binary_expression "local_70 + iVar21" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != uVar24)" ( (binary_expression "uVar17 != uVar24" identifier != identifier) )) ;) })) (if_statement "if ((int)local_7c - (int)puVar16 != uVar6) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }" if (parenthesized_expression "((int)local_7c - (int)puVar16 != uVar6)" ( (binary_expression "(int)local_7c - (int)puVar16 != uVar6" (binary_expression "(int)local_7c - (int)puVar16" (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1fdc,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fdc,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if ((int)puVar26 - (int)puVar25 != uVar22) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }" if (parenthesized_expression "((int)puVar26 - (int)puVar25 != uVar22)" ( (binary_expression "(int)puVar26 - (int)puVar25 != uVar22" (binary_expression "(int)puVar26 - (int)puVar25" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1fdd,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fdd,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00115121;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011513d:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;))) })) })) (labeled_statement "LAB_00115121:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;))) })))
(translation_unit "void FUN_00114c60(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}\n\n" (function_definition "void FUN_00114c60(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" primitive_type (function_declarator "FUN_00114c60(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" { (declaration "byte bVar1;" type_identifier 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 "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 7);" (assignment_expression "bVar1 = *(byte *)(param_1 + 7)" identifier = (pointer_expression "*(byte *)(param_1 + 7)" * (cast_expression "(byte *)(param_1 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (expression_statement "uVar12 = param_1[5];" (assignment_expression "uVar12 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (if_statement "if ((bVar1 & 2) == 0) goto LAB_0011513d;" if (parenthesized_expression "((bVar1 & 2) == 0)" ( (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011513d;" goto statement_identifier ;)) (expression_statement "uVar3 = param_1[3];" (assignment_expression "uVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" { (labeled_statement "LAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" statement_identifier : (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar12)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;)) })) (if_statement "if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" if (parenthesized_expression "(-1 < param_1[6])" ( (binary_expression "-1 < param_1[6]" number_literal < (subscript_expression "param_1[6]" identifier [ number_literal ])) )) (compound_statement "{\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc)" identifier = (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);" (assignment_expression "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12)" identifier = (binary_expression "param_1[6] + (uint)CARRY4(uVar3,uVar12)" (subscript_expression "param_1[6]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar3,uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,uVar12)" identifier (argument_list "(uVar3,uVar12)" ( identifier , identifier )))))) ;) (expression_statement "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);" (assignment_expression "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar12)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar12" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar3 + uVar12" identifier + identifier)) )))) ;) (expression_statement "iVar11 = iVar4 - iVar15;" (assignment_expression "iVar11 = iVar4 - iVar15" identifier = (binary_expression "iVar4 - iVar15" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" if (parenthesized_expression "((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0)" ( (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18))" ( (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)" (call_expression "SBORROW4(iVar4,iVar15)" identifier (argument_list "(iVar4,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar18)" identifier (argument_list "(iVar11,uVar18)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar11 - uVar18) < 0" (cast_expression "(int)(iVar11 - uVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar18)" ( (binary_expression "iVar11 - uVar18" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" { (expression_statement "iVar11 = uVar12 + *(int *)(param_2 + 0x10);" (assignment_expression "iVar11 = uVar12 + *(int *)(param_2 + 0x10)" identifier = (binary_expression "uVar12 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar12 = param_1[0xe];" (assignment_expression "uVar12 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "bVar2 = *(byte *)(uVar12 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(uVar12 + 0x1c)" identifier = (pointer_expression "*(byte *)(uVar12 + 0x1c)" * (cast_expression "(byte *)(uVar12 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x1c)" ( (binary_expression "uVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" if (parenthesized_expression "((bVar2 & 4) == 0)" ( (binary_expression "(bVar2 & 4) == 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" { (labeled_statement "LAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");" statement_identifier : (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (expression_statement "uVar18 = *(uint *)(uVar12 + 0x14);" (assignment_expression "uVar18 = *(uint *)(uVar12 + 0x14)" identifier = (pointer_expression "*(uint *)(uVar12 + 0x14)" * (cast_expression "(uint *)(uVar12 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x14)" ( (binary_expression "uVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(uVar12 + 0x18);" (assignment_expression "iVar15 = *(int *)(uVar12 + 0x18)" identifier = (pointer_expression "*(int *)(uVar12 + 0x18)" * (cast_expression "(int *)(uVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x18)" ( (binary_expression "uVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" { (expression_statement "uVar5 = *(uint *)(uVar12 + 0xc);" (assignment_expression "uVar5 = *(uint *)(uVar12 + 0xc)" identifier = (pointer_expression "*(uint *)(uVar12 + 0xc)" * (cast_expression "(uint *)(uVar12 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0xc)" ( (binary_expression "uVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = param_1[0xf];" (assignment_expression "iVar6 = param_1[0xf]" identifier = (subscript_expression "param_1[0xf]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 4)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0011515c;" goto statement_identifier ;)) (if_statement "if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" if (parenthesized_expression "(iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5)" ( (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10)" identifier + (pointer_expression "*(int *)(uVar12 + 0x10)" * (cast_expression "(int *)(uVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x10)" ( (binary_expression "uVar12 + 0x10" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar18,uVar5)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar18,uVar5)" identifier (argument_list "(uVar18,uVar5)" ( identifier , identifier ))))) != (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) || (binary_expression "*(int *)(iVar6 + 0x14) != uVar18 + uVar5" (pointer_expression "*(int *)(iVar6 + 0x14)" * (cast_expression "(int *)(iVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) != (binary_expression "uVar18 + uVar5" identifier + identifier))) )) (compound_statement "{\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" { (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" identifier (argument_list "("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" { (expression_statement "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);" (assignment_expression "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc)" identifier = (binary_expression "uVar5 + *(uint *)(iVar6 + 0xc)" identifier + (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;" if (parenthesized_expression "(*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0)" ( (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10)" (pointer_expression "*(int *)(uVar12 + 0x10)" * (cast_expression "(int *)(uVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 0x10)" ( (binary_expression "uVar12 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar6 + 0x10)" * (cast_expression "(int *)(iVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" identifier (argument_list "(uVar5,*(uint *)(iVar6 + 0xc))" ( identifier , (pointer_expression "*(uint *)(iVar6 + 0xc)" * (cast_expression "(uint *)(iVar6 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))))) != number_literal) )) (goto_statement "goto LAB_0011517b;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" if (parenthesized_expression "((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0))" ( (binary_expression "(-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" (parenthesized_expression "(-1 < iVar15)" ( (binary_expression "-1 < iVar15" number_literal < identifier) )) && (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18)" identifier = (binary_expression "iVar15 + (uint)CARRY4(uVar16,uVar18)" identifier + (cast_expression "(uint)CARRY4(uVar16,uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,uVar18)" identifier (argument_list "(uVar16,uVar18)" ( identifier , identifier )))))) , (comma_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar16 + uVar18)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar16 + uVar18" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar16 + uVar18" identifier + identifier)) )))) , (comma_expression "iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar6 = iVar4 - iVar15" identifier = (binary_expression "iVar4 - iVar15" identifier - identifier)) , (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5))" ( (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)" (call_expression "SBORROW4(iVar4,iVar15)" identifier (argument_list "(iVar4,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar6,uVar5)" identifier (argument_list "(iVar6,uVar5)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar6 - uVar5) < 0" (cast_expression "(int)(iVar6 - uVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - uVar5)" ( (binary_expression "iVar6 - uVar5" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" { (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar18)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar18" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" if (parenthesized_expression "(((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0))" ( (binary_expression "((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)" (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar4 = param_1[1], (bVar2 & 1) == 0)" ( (comma_expression "iVar4 = param_1[1], (bVar2 & 1) == 0" (assignment_expression "iVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) , (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" { (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar12)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar7 = *(undefined4 *)(uVar12 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(uVar12 + 4)" identifier = (pointer_expression "*(undefined4 *)(uVar12 + 4)" * (cast_expression "(undefined4 *)(uVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 + 4)" ( (binary_expression "uVar12 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);" (call_expression "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4)" (parenthesized_expression "(**(code **)(*param_1 + 0x6c))" ( (pointer_expression "**(code **)(*param_1 + 0x6c)" * (pointer_expression "*(code **)(*param_1 + 0x6c)" * (cast_expression "(code **)(*param_1 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x6c)" ( (binary_expression "*param_1 + 0x6c" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,iVar11,uVar7,iVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_7c = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_7c = (**(code **)(*param_1 + 100))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" ( (pointer_expression "**(code **)(*param_1 + 100)" * (pointer_expression "*(code **)(*param_1 + 100)" * (cast_expression "(code **)(*param_1 + 100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 100)" ( (binary_expression "*param_1 + 100" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_7c = local_7c + iVar11;" (assignment_expression "local_7c = local_7c + iVar11" identifier = (binary_expression "local_7c + iVar11" identifier + identifier)) ;) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "piVar19 = puVar20 + 3;" (assignment_expression "piVar19 = puVar20 + 3" identifier = (binary_expression "puVar20 + 3" identifier + number_literal)) ;) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[2] = 0;" (assignment_expression "puVar20[2] = 0" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_70 = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_70 = (**(code **)(*param_1 + 100))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" ( (pointer_expression "**(code **)(*param_1 + 100)" * (pointer_expression "*(code **)(*param_1 + 100)" * (cast_expression "(code **)(*param_1 + 100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 100)" ( (binary_expression "*param_1 + 100" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar15 = param_1[0x11];" (assignment_expression "iVar15 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = iVar15 + param_1[0x10];" (assignment_expression "uVar12 = iVar15 + param_1[0x10]" identifier = (binary_expression "iVar15 + param_1[0x10]" identifier + (subscript_expression "param_1[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" if (parenthesized_expression "(iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555)" ( (binary_expression "iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" identifier != (binary_expression "(param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" (parenthesized_expression "(param_1[0x13] - param_1[0x12] >> 2)" ( (binary_expression "param_1[0x13] - param_1[0x12] >> 2" (binary_expression "param_1[0x13] - param_1[0x12]" (subscript_expression "param_1[0x13]" identifier [ number_literal ]) - (subscript_expression "param_1[0x12]" identifier [ number_literal ])) >> number_literal) )) * number_literal)) )) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" { (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1)" identifier (argument_list "("../../gold/arm.cc",0x1fb2,"do_write",param_1)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (do_statement "do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);" do (compound_statement "{\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              }" { (expression_statement "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);" (call_expression "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" ( (pointer_expression "**(code **)(*param_1 + 0x70)" * (pointer_expression "*(code **)(*param_1 + 0x70)" * (cast_expression "(code **)(*param_1 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x70)" ( (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar18 * 4 + 0xc" (binary_expression "uVar18 * 4" identifier * number_literal) + number_literal) , identifier ))) ;) (expression_statement "iVar15 = iVar4;" (assignment_expression "iVar15 = iVar4" identifier = identifier) ;) (if_statement "if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" if (parenthesized_expression "((uint)param_1[0x10] <= uVar18)" ( (binary_expression "(uint)param_1[0x10] <= uVar18" (cast_expression "(uint)param_1[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x10]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" { (expression_statement "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);" (assignment_expression "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" identifier = (cast_expression "(int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" ( (binary_expression "param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(uVar18 - param_1[0x10]) * 0xc" (parenthesized_expression "(uVar18 - param_1[0x10])" ( (binary_expression "uVar18 - param_1[0x10]" identifier - (subscript_expression "param_1[0x10]" identifier [ number_literal ])) )) * number_literal)) )))) ;) (expression_statement "piVar8 = (int *)*piVar21;" (assignment_expression "piVar8 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (if_statement "if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" if (parenthesized_expression "((char)piVar21[2] == '\0')" ( (binary_expression "(char)piVar21[2] == '\0'" (cast_expression "(char)piVar21[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar21[2]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }" { (expression_statement "uVar5 = piVar21[1];" (assignment_expression "uVar5 = piVar21[1]" identifier = (subscript_expression "piVar21[1]" identifier [ number_literal ])) ;) (if_statement "if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" if (parenthesized_expression "(*(code **)(*piVar8 + 0xa4) == FUN_00102980)" ( (binary_expression "*(code **)(*piVar8 + 0xa4) == FUN_00102980" (pointer_expression "*(code **)(*piVar8 + 0xa4)" * (cast_expression "(code **)(*piVar8 + 0xa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa4)" ( (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }" { (expression_statement "iVar15 = piVar8[0x37];" (assignment_expression "iVar15 = piVar8[0x37]" identifier = (subscript_expression "piVar8[0x37]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" if (parenthesized_expression "((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5)" ( (binary_expression "(uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5" (call_expression "(uint)(piVar8[0x38] - iVar15 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar8[0x38] - iVar15 >> 4)" ( (binary_expression "piVar8[0x38] - iVar15 >> 4" (binary_expression "piVar8[0x38] - iVar15" (subscript_expression "piVar8[0x38]" identifier [ number_literal ]) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" { (expression_statement "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;) })) (expression_statement "iVar6 = iVar15 + uVar5 * 0x10;" (assignment_expression "iVar6 = iVar15 + uVar5 * 0x10" identifier = (binary_expression "iVar15 + uVar5 * 0x10" identifier + (binary_expression "uVar5 * 0x10" identifier * number_literal))) ;) (if_statement "if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" if (parenthesized_expression "((char)*(byte *)(iVar6 + 0xb) < '\0')" ( (binary_expression "(char)*(byte *)(iVar6 + 0xb) < '\0'" (cast_expression "(char)*(byte *)(iVar6 + 0xb)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)(iVar6 + 0xb)" * (cast_expression "(byte *)(iVar6 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xb)" ( (binary_expression "iVar6 + 0xb" identifier + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }" { (expression_statement "iVar15 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar6 + 0xc)" identifier = (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" else (compound_statement "{\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" { (if_statement "if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" if (parenthesized_expression "((*(byte *)(iVar6 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0xb) & 8)" ( (binary_expression "*(byte *)(iVar6 + 0xb) & 8" (pointer_expression "*(byte *)(iVar6 + 0xb)" * (cast_expression "(byte *)(iVar6 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xb)" ( (binary_expression "iVar6 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" { (expression_statement "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);" (call_expression "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15)" identifier (argument_list "("../../gold/object.h",0x6ab,"value",iVar15)" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""value"" " string_content ") , identifier ))) ;) })) (expression_statement "puVar9 = *(uint **)(iVar6 + 0xc);" (assignment_expression "puVar9 = *(uint **)(iVar6 + 0xc)" identifier = (pointer_expression "*(uint **)(iVar6 + 0xc)" * (cast_expression "(uint **)(iVar6 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *puVar9;" (assignment_expression "uVar5 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar14 = uVar5 % puVar9[3];" (assignment_expression "uVar14 = uVar5 % puVar9[3]" identifier = (binary_expression "uVar5 % puVar9[3]" identifier % (subscript_expression "puVar9[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar21 = *(int **)(puVar9[2] + uVar14 * 4);" (assignment_expression "piVar21 = *(int **)(puVar9[2] + uVar14 * 4)" identifier = (pointer_expression "*(int **)(puVar9[2] + uVar14 * 4)" * (cast_expression "(int **)(puVar9[2] + uVar14 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9[2] + uVar14 * 4)" ( (binary_expression "puVar9[2] + uVar14 * 4" (subscript_expression "puVar9[2]" identifier [ number_literal ]) + (binary_expression "uVar14 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" if (parenthesized_expression "(piVar21 != (int *)0x0)" ( (binary_expression "piVar21 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" { (expression_statement "uVar13 = ((int *)*piVar21)[1];" (assignment_expression "uVar13 = ((int *)*piVar21)[1]" identifier = (subscript_expression "((int *)*piVar21)[1]" (parenthesized_expression "((int *)*piVar21)" ( (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar10 = (int *)*piVar21;" (assignment_expression "piVar10 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (while_statement "while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" while (parenthesized_expression "(piVar17 = piVar10, uVar5 != uVar13)" ( (comma_expression "piVar17 = piVar10, uVar5 != uVar13" (assignment_expression "piVar17 = piVar10" identifier = identifier) , (binary_expression "uVar5 != uVar13" identifier != identifier)) )) (compound_statement "{\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" { (expression_statement "piVar10 = (int *)*piVar17;" (assignment_expression "piVar10 = (int *)*piVar17" identifier = (cast_expression "(int *)*piVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar17" * identifier))) ;) (if_statement "if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;" if (parenthesized_expression "((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               ))" ( (binary_expression "(piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" ( (comma_expression "uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "uVar13 = piVar10[1]" identifier = (subscript_expression "piVar10[1]" identifier [ number_literal ])) , (comma_expression "piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "piVar21 = piVar17" identifier = identifier) , (binary_expression "uVar14 != uVar13 % puVar9[3]" identifier != (binary_expression "uVar13 % puVar9[3]" identifier % (subscript_expression "puVar9[3]" identifier [ number_literal ]))))) ))) )) (goto_statement "goto LAB_0011505f;" goto statement_identifier ;)) })) (if_statement "if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" { (expression_statement "iVar15 = *(int *)(*piVar21 + 8);" (assignment_expression "iVar15 = *(int *)(*piVar21 + 8)" identifier = (pointer_expression "*(int *)(*piVar21 + 8)" * (cast_expression "(int *)(*piVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 8)" ( (binary_expression "*piVar21 + 8" (pointer_expression "*piVar21" * identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00114f07;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" statement_identifier : (expression_statement "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" (assignment_expression "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" identifier = (call_expression "FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" identifier (argument_list "(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" ( identifier , identifier , (binary_expression "*(uint *)(iVar6 + 8) & 0x7ffffff" (pointer_expression "*(uint *)(iVar6 + 8)" * (cast_expression "(uint *)(iVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) & number_literal) , identifier )))) ;)) }))) }) (else_clause "else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" else (compound_statement "{\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" { (expression_statement "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);" (assignment_expression "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" identifier = (call_expression "(**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa4))" ( (pointer_expression "**(code **)(*piVar8 + 0xa4)" * (pointer_expression "*(code **)(*piVar8 + 0xa4)" * (cast_expression "(code **)(*piVar8 + 0xa4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0xa4)" ( (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,uVar5,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) }))) }) (else_clause "else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" else (compound_statement "{\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" { (if_statement "if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" if (parenthesized_expression "((*(byte *)(piVar8 + 10) & 0xf) != 10)" ( (binary_expression "(*(byte *)(piVar8 + 10) & 0xf) != 10" (parenthesized_expression "(*(byte *)(piVar8 + 10) & 0xf)" ( (binary_expression "*(byte *)(piVar8 + 10) & 0xf" (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" { (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write")" identifier (argument_list "("../../gold/arm.cc",0x1fd0,"do_write")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (expression_statement "iVar15 = piVar8[0xc];" (assignment_expression "iVar15 = piVar8[0xc]" identifier = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) }))) })) (labeled_statement "LAB_00114f07:\n                *piVar19 = iVar15;" statement_identifier : (expression_statement "*piVar19 = iVar15;" (assignment_expression "*piVar19 = iVar15" (pointer_expression "*piVar19" * identifier) = identifier) ;)) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar19 = piVar19 + 1;" (assignment_expression "piVar19 = piVar19 + 1" identifier = (binary_expression "piVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "iVar15 = (**(code **)(*param_1 + 0x68))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" ( (pointer_expression "**(code **)(*param_1 + 0x68)" * (pointer_expression "*(code **)(*param_1 + 0x68)" * (cast_expression "(code **)(*param_1 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x68)" ( (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_7c = local_7c + iVar15;" (assignment_expression "local_7c = local_7c + iVar15" identifier = (binary_expression "local_7c + iVar15" identifier + identifier)) ;) (expression_statement "uVar22 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "uVar22 = (**(code **)(*param_1 + 0x68))(param_1)" identifier = (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" ( (pointer_expression "**(code **)(*param_1 + 0x68)" * (pointer_expression "*(code **)(*param_1 + 0x68)" * (cast_expression "(code **)(*param_1 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x68)" ( (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar15 = (int)((ulonglong)uVar22 >> 0x20);" (assignment_expression "iVar15 = (int)((ulonglong)uVar22 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_70 = local_70 + (int)uVar22;" (assignment_expression "local_70 = local_70 + (int)uVar22" identifier = (binary_expression "local_70 + (int)uVar22" identifier + (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(uVar12 != uVar18)" ( (binary_expression "uVar12 != uVar18" identifier != identifier) )) ;) })) (if_statement "if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" if (parenthesized_expression "(local_7c - iVar11 != uVar3)" ( (binary_expression "local_7c - iVar11 != uVar3" (binary_expression "local_7c - iVar11" identifier - identifier) != identifier) )) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" { (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" identifier (argument_list "("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" if (parenthesized_expression "((int)piVar19 - (int)puVar20 != uVar16)" ( (binary_expression "(int)piVar19 - (int)puVar20 != uVar16" (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" { (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" identifier (argument_list "("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00115121;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");" statement_identifier : (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) })) (labeled_statement "LAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (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 ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (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 , IDENT , IDENT , IDENT , (binary_expression (binary_expression IDENT * LIT) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (binary_expression IDENT % (subscript_expression IDENT [ LIT ]))))) ))) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) , IDENT )))) ;)) }))) }) (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 , IDENT , LIT , 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) )) (compound_statement { (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 ])) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })))
(function_definition "void FUN_00114c60(int *param_1,int param_2)\n\n{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" (primitive_type "void") (function_declarator "FUN_00114c60(int *param_1,int param_2)" (identifier "FUN_00114c60") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  uint *puVar9;\n  int *piVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int *piVar17;\n  uint uVar18;\n  int *piVar19;\n  undefined4 *puVar20;\n  int *piVar21;\n  undefined8 uVar22;\n  int local_7c;\n  int local_70;\n  \n  bVar1 = *(byte *)(param_1 + 7);\n  if ((bVar1 & 4) == 0) goto LAB_0011515c;\n  uVar12 = param_1[5];\n  if ((bVar1 & 2) == 0) goto LAB_0011513d;\n  uVar3 = param_1[3];\n  if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }\n  if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }\nLAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (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 "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (expression_statement "bVar1 = *(byte *)(param_1 + 7);" (assignment_expression "bVar1 = *(byte *)(param_1 + 7)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 7)" (* "*") (cast_expression "(byte *)(param_1 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) == 0) goto LAB_0011515c;" (if "if") (parenthesized_expression "((bVar1 & 4) == 0)" (( "(") (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011515c;" (goto "goto") (statement_identifier "LAB_0011515c") (; ";"))) (expression_statement "uVar12 = param_1[5];" (assignment_expression "uVar12 = param_1[5]" (identifier "uVar12") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if ((bVar1 & 2) == 0) goto LAB_0011513d;" (if "if") (parenthesized_expression "((bVar1 & 2) == 0)" (( "(") (binary_expression "(bVar1 & 2) == 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011513d;" (goto "goto") (statement_identifier "LAB_0011513d") (; ";"))) (expression_statement "uVar3 = param_1[3];" (assignment_expression "uVar3 = param_1[3]" (identifier "uVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (param_1[4] != 0) {\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" (if "if") (parenthesized_expression "(param_1[4] != 0)" (( "(") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);\n  }" ({ "{") (labeled_statement "LAB_0011517b:\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" (statement_identifier "LAB_0011517b") (: ":") (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12)" (identifier "FUN_002446e0") (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar12)" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";"))) (} "}"))) (if_statement "if (-1 < param_1[6]) {\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" (if "if") (parenthesized_expression "(-1 < param_1[6])" (( "(") (binary_expression "-1 < param_1[6]" (number_literal "-1") (< "<") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) () ")")) (compound_statement "{\n    iVar4 = *(int *)(param_2 + 0xc);\n    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);\n    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);\n    iVar11 = iVar4 - iVar15;\n    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_2 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);" (assignment_expression "iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12)" (identifier "iVar15") (= "=") (binary_expression "param_1[6] + (uint)CARRY4(uVar3,uVar12)" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (cast_expression "(uint)CARRY4(uVar3,uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar3,uVar12)" (identifier "CARRY4") (argument_list "(uVar3,uVar12)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar12") () ")")))))) (; ";")) (expression_statement "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);" (assignment_expression "uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" (identifier "uVar18") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar3 + uVar12)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar3 + uVar12" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "uVar3 + uVar12" (identifier "uVar3") (+ "+") (identifier "uVar12"))) () ")")))) (; ";")) (expression_statement "iVar11 = iVar4 - iVar15;" (assignment_expression "iVar11 = iVar4 - iVar15" (identifier "iVar11") (= "=") (binary_expression "iVar4 - iVar15" (identifier "iVar4") (- "-") (identifier "iVar15"))) (; ";")) (if_statement "if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" (if "if") (parenthesized_expression "((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0)" (( "(") (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18))" (( "(") (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)" (call_expression "SBORROW4(iVar4,iVar15)" (identifier "SBORROW4") (argument_list "(iVar4,iVar15)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar15") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar11,uVar18)" (identifier "SBORROW4") (argument_list "(iVar11,uVar18)" (( "(") (identifier "iVar11") (, ",") (identifier "uVar18") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar11 - uVar18) < 0" (cast_expression "(int)(iVar11 - uVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar11 - uVar18)" (( "(") (binary_expression "iVar11 - uVar18" (identifier "iVar11") (- "-") (identifier "uVar18")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n      iVar11 = uVar12 + *(int *)(param_2 + 0x10);\n      uVar12 = param_1[0xe];\n      bVar2 = *(byte *)(uVar12 + 0x1c);\n      if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }\n      uVar18 = *(uint *)(uVar12 + 0x14);\n      iVar15 = *(int *)(uVar12 + 0x18);\n      if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }\nLAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");\n    }" ({ "{") (expression_statement "iVar11 = uVar12 + *(int *)(param_2 + 0x10);" (assignment_expression "iVar11 = uVar12 + *(int *)(param_2 + 0x10)" (identifier "iVar11") (= "=") (binary_expression "uVar12 + *(int *)(param_2 + 0x10)" (identifier "uVar12") (+ "+") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "uVar12 = param_1[0xe];" (assignment_expression "uVar12 = param_1[0xe]" (identifier "uVar12") (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "bVar2 = *(byte *)(uVar12 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(uVar12 + 0x1c)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(uVar12 + 0x1c)" (* "*") (cast_expression "(byte *)(uVar12 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0x1c)" (( "(") (binary_expression "uVar12 + 0x1c" (identifier "uVar12") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 4) == 0) {\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" (if "if") (parenthesized_expression "((bVar2 & 4) == 0)" (( "(") (binary_expression "(bVar2 & 4) == 0" (parenthesized_expression "(bVar2 & 4)" (( "(") (binary_expression "bVar2 & 4" (identifier "bVar2") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");\n      }" ({ "{") (labeled_statement "LAB_0011515c:\n                    \n        FUN_002446e0("../../gold/output.h",0xe3,"offset");" (statement_identifier "LAB_0011515c") (: ":") (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset")" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar18 = *(uint *)(uVar12 + 0x14);" (assignment_expression "uVar18 = *(uint *)(uVar12 + 0x14)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(uVar12 + 0x14)" (* "*") (cast_expression "(uint *)(uVar12 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0x14)" (( "(") (binary_expression "uVar12 + 0x14" (identifier "uVar12") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(uVar12 + 0x18);" (assignment_expression "iVar15 = *(int *)(uVar12 + 0x18)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(uVar12 + 0x18)" (* "*") (cast_expression "(int *)(uVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0x18)" (( "(") (binary_expression "uVar12 + 0x18" (identifier "uVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 2) != 0) {\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" (if "if") (parenthesized_expression "((bVar2 & 2) != 0)" (( "(") (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = *(uint *)(uVar12 + 0xc);\n        iVar6 = param_1[0xf];\n        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;\n        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }\n      }" ({ "{") (expression_statement "uVar5 = *(uint *)(uVar12 + 0xc);" (assignment_expression "uVar5 = *(uint *)(uVar12 + 0xc)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(uVar12 + 0xc)" (* "*") (cast_expression "(uint *)(uVar12 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0xc)" (( "(") (binary_expression "uVar12 + 0xc" (identifier "uVar12") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar6 = param_1[0xf];" (assignment_expression "iVar6 = param_1[0xf]" (identifier "iVar6") (= "=") (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 4)" (( "(") (binary_expression "*(byte *)(iVar6 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar6 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar6 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011515c;" (goto "goto") (statement_identifier "LAB_0011515c") (; ";"))) (if_statement "if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" (if "if") (parenthesized_expression "(iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5)" (( "(") (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)\n            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5)" (binary_expression "iVar15 + *(int *)(uVar12 + 0x10)" (identifier "iVar15") (+ "+") (pointer_expression "*(int *)(uVar12 + 0x10)" (* "*") (cast_expression "(int *)(uVar12 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0x10)" (( "(") (binary_expression "uVar12 + 0x10" (identifier "uVar12") (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar18,uVar5)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar18,uVar5)" (identifier "CARRY4") (argument_list "(uVar18,uVar5)" (( "(") (identifier "uVar18") (, ",") (identifier "uVar5") () ")"))))) (!= "!=") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) (|| "||") (binary_expression "*(int *)(iVar6 + 0x14) != uVar18 + uVar5" (pointer_expression "*(int *)(iVar6 + 0x14)" (* "*") (cast_expression "(int *)(iVar6 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (binary_expression "uVar18 + uVar5" (identifier "uVar18") (+ "+") (identifier "uVar5")))) () ")")) (compound_statement "{\n                    \n          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);\n        }" ({ "{") (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" (identifier "FUN_002446e0") (argument_list "("../../gold/arm.cc",0x1f9b,"do_write",uVar12)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1f9b") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar6 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);\n          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;\n          if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }\n          goto LAB_00115121;\n        }" ({ "{") (expression_statement "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);" (assignment_expression "uVar16 = uVar5 + *(uint *)(iVar6 + 0xc)" (identifier "uVar16") (= "=") (binary_expression "uVar5 + *(uint *)(iVar6 + 0xc)" (identifier "uVar5") (+ "+") (pointer_expression "*(uint *)(iVar6 + 0xc)" (* "*") (cast_expression "(uint *)(iVar6 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (if_statement "if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;" (if "if") (parenthesized_expression "(*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0)" (( "(") (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +\n              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" (binary_expression "*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10)" (pointer_expression "*(int *)(uVar12 + 0x10)" (* "*") (cast_expression "(int *)(uVar12 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 0x10)" (( "(") (binary_expression "uVar12 + 0x10" (identifier "uVar12") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar6 + 0x10)" (* "*") (cast_expression "(int *)(iVar6 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10)" (( "(") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar5,*(uint *)(iVar6 + 0xc))" (identifier "CARRY4") (argument_list "(uVar5,*(uint *)(iVar6 + 0xc))" (( "(") (identifier "uVar5") (, ",") (pointer_expression "*(uint *)(iVar6 + 0xc)" (* "*") (cast_expression "(uint *)(iVar6 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011517b;" (goto "goto") (statement_identifier "LAB_0011517b") (; ";"))) (if_statement "if ((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" (if "if") (parenthesized_expression "((-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0))" (( "(") (binary_expression "(-1 < iVar15) &&\n             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" (parenthesized_expression "(-1 < iVar15)" (( "(") (binary_expression "-1 < iVar15" (number_literal "-1") (< "<") (identifier "iVar15")) () ")")) (&& "&&") (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)" (( "(") (comma_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),\n             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18)" (identifier "iVar15") (= "=") (binary_expression "iVar15 + (uint)CARRY4(uVar16,uVar18)" (identifier "iVar15") (+ "+") (cast_expression "(uint)CARRY4(uVar16,uVar18)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar16,uVar18)" (identifier "CARRY4") (argument_list "(uVar16,uVar18)" (( "(") (identifier "uVar16") (, ",") (identifier "uVar18") () ")")))))) (, ",") (comma_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" (identifier "uVar5") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar16 + uVar18)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar16 + uVar18" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "uVar16 + uVar18" (identifier "uVar16") (+ "+") (identifier "uVar18"))) () ")")))) (, ",") (comma_expression "iVar6 = iVar4 - iVar15,\n             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (assignment_expression "iVar6 = iVar4 - iVar15" (identifier "iVar6") (= "=") (binary_expression "iVar4 - iVar15" (identifier "iVar4") (- "-") (identifier "iVar15"))) (, ",") (binary_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0" (parenthesized_expression "(SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5))" (( "(") (binary_expression "SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)" (call_expression "SBORROW4(iVar4,iVar15)" (identifier "SBORROW4") (argument_list "(iVar4,iVar15)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar15") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,uVar5)" (identifier "SBORROW4") (argument_list "(iVar6,uVar5)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar5") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar6 - uVar5) < 0" (cast_expression "(int)(iVar6 - uVar5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - uVar5)" (( "(") (binary_expression "iVar6 - uVar5" (identifier "iVar6") (- "-") (identifier "uVar5")) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);\n            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }\n            uVar7 = *(undefined4 *)(uVar12 + 4);\n            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);\n            local_7c = (**(code **)(*param_1 + 100))(param_1);\n            local_7c = local_7c + iVar11;\n            *puVar20 = 0;\n            piVar19 = puVar20 + 3;\n            puVar20[1] = 0;\n            puVar20[2] = 0;\n            local_70 = (**(code **)(*param_1 + 100))(param_1);\n            iVar15 = param_1[0x11];\n            uVar12 = iVar15 + param_1[0x10];\n            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }\n            if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }\n            if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }\n            if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }\n            return;\n          }" ({ "{") (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar18)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + uVar18" (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "uVar18")) () ")")))) (; ";")) (if_statement "if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" (if "if") (parenthesized_expression "(((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0))" (( "(") (binary_expression "((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)" (parenthesized_expression "((bVar1 & 1) == 0)" (( "(") (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" (( "(") (binary_expression "bVar1 & 1" (identifier "bVar1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = param_1[1], (bVar2 & 1) == 0)" (( "(") (comma_expression "iVar4 = param_1[1], (bVar2 & 1) == 0" (assignment_expression "iVar4 = param_1[1]" (identifier "iVar4") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);\n            }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xc5,"address",uVar12)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *(undefined4 *)(uVar12 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(uVar12 + 4)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(uVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(uVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar12 + 4)" (( "(") (binary_expression "uVar12 + 4" (identifier "uVar12") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);" (call_expression "(**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4)" (parenthesized_expression "(**(code **)(*param_1 + 0x6c))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x6c)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x6c)" (* "*") (cast_expression "(code **)(*param_1 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x6c)" (( "(") (binary_expression "*param_1 + 0x6c" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x6c")) () ")"))))) () ")")) (argument_list "(param_1,iVar11,uVar7,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "iVar11") (, ",") (identifier "uVar7") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "local_7c = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_7c = (**(code **)(*param_1 + 100))(param_1)" (identifier "local_7c") (= "=") (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" (( "(") (pointer_expression "**(code **)(*param_1 + 100)" (* "*") (pointer_expression "*(code **)(*param_1 + 100)" (* "*") (cast_expression "(code **)(*param_1 + 100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 100)" (( "(") (binary_expression "*param_1 + 100" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "100")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_7c = local_7c + iVar11;" (assignment_expression "local_7c = local_7c + iVar11" (identifier "local_7c") (= "=") (binary_expression "local_7c + iVar11" (identifier "local_7c") (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar19 = puVar20 + 3;" (assignment_expression "piVar19 = puVar20 + 3" (identifier "piVar19") (= "=") (binary_expression "puVar20 + 3" (identifier "puVar20") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar20[2] = 0;" (assignment_expression "puVar20[2] = 0" (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = (**(code **)(*param_1 + 100))(param_1);" (assignment_expression "local_70 = (**(code **)(*param_1 + 100))(param_1)" (identifier "local_70") (= "=") (call_expression "(**(code **)(*param_1 + 100))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 100))" (( "(") (pointer_expression "**(code **)(*param_1 + 100)" (* "*") (pointer_expression "*(code **)(*param_1 + 100)" (* "*") (cast_expression "(code **)(*param_1 + 100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 100)" (( "(") (binary_expression "*param_1 + 100" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "100")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar15 = param_1[0x11];" (assignment_expression "iVar15 = param_1[0x11]" (identifier "iVar15") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "uVar12 = iVar15 + param_1[0x10];" (assignment_expression "uVar12 = iVar15 + param_1[0x10]" (identifier "uVar12") (= "=") (binary_expression "iVar15 + param_1[0x10]" (identifier "iVar15") (+ "+") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (if_statement "if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" (if "if") (parenthesized_expression "(iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555)" (( "(") (binary_expression "iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" (identifier "iVar15") (!= "!=") (binary_expression "(param_1[0x13] - param_1[0x12] >> 2) * -0x55555555" (parenthesized_expression "(param_1[0x13] - param_1[0x12] >> 2)" (( "(") (binary_expression "param_1[0x13] - param_1[0x12] >> 2" (binary_expression "param_1[0x13] - param_1[0x12]" (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")) (- "-") (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x55555555"))) () ")")) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);\n            }" ({ "{") (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/arm.cc",0x1fb2,"do_write",param_1)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1fb2") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar12 != 0) {\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" (if "if") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar18 = 0;\n              do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);\n            }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              } while (uVar12 != uVar18);" (do "do") (compound_statement "{\n                (**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);\n                iVar15 = iVar4;\n                if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }\nLAB_00114f07:\n                *piVar19 = iVar15;\n                uVar18 = uVar18 + 1;\n                piVar19 = piVar19 + 1;\n                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);\n                local_7c = local_7c + iVar15;\n                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);\n                iVar15 = (int)((ulonglong)uVar22 >> 0x20);\n                local_70 = local_70 + (int)uVar22;\n              }" ({ "{") (expression_statement "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);" (call_expression "(**(code **)(*param_1 + 0x70))\n                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" (parenthesized_expression "(**(code **)(*param_1 + 0x70))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x70)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x70)" (* "*") (cast_expression "(code **)(*param_1 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x70)" (( "(") (binary_expression "*param_1 + 0x70" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70)" (( "(") (identifier "param_1") (, ",") (identifier "local_7c") (, ",") (identifier "uVar7") (, ",") (identifier "iVar4") (, ",") (binary_expression "uVar18 * 4 + 0xc" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (+ "+") (number_literal "0xc")) (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "iVar15 = iVar4;" (assignment_expression "iVar15 = iVar4" (identifier "iVar15") (= "=") (identifier "iVar4")) (; ";")) (if_statement "if ((uint)param_1[0x10] <= uVar18) {\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" (if "if") (parenthesized_expression "((uint)param_1[0x10] <= uVar18)" (( "(") (binary_expression "(uint)param_1[0x10] <= uVar18" (cast_expression "(uint)param_1[0x10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]"))) (<= "<=") (identifier "uVar18")) () ")")) (compound_statement "{\n                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);\n                  piVar8 = (int *)*piVar21;\n                  if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }\n                }" ({ "{") (expression_statement "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);" (assignment_expression "piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" (identifier "piVar21") (= "=") (cast_expression "(int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc)" (( "(") (binary_expression "param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (binary_expression "(uVar18 - param_1[0x10]) * 0xc" (parenthesized_expression "(uVar18 - param_1[0x10])" (( "(") (binary_expression "uVar18 - param_1[0x10]" (identifier "uVar18") (- "-") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]"))) () ")")) (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "piVar8 = (int *)*piVar21;" (assignment_expression "piVar8 = (int *)*piVar21" (identifier "piVar8") (= "=") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (if_statement "if ((char)piVar21[2] == '\0') {\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }\n                  else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" (if "if") (parenthesized_expression "((char)piVar21[2] == '\0')" (( "(") (binary_expression "(char)piVar21[2] == '\0'" (cast_expression "(char)piVar21[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    uVar5 = piVar21[1];\n                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }\n                  }" ({ "{") (expression_statement "uVar5 = piVar21[1];" (assignment_expression "uVar5 = piVar21[1]" (identifier "uVar5") (= "=") (subscript_expression "piVar21[1]" (identifier "piVar21") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }\n                    else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" (if "if") (parenthesized_expression "(*(code **)(*piVar8 + 0xa4) == FUN_00102980)" (( "(") (binary_expression "*(code **)(*piVar8 + 0xa4) == FUN_00102980" (pointer_expression "*(code **)(*piVar8 + 0xa4)" (* "*") (cast_expression "(code **)(*piVar8 + 0xa4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0xa4)" (( "(") (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0xa4")) () ")")))) (== "==") (identifier "FUN_00102980")) () ")")) (compound_statement "{\n                      iVar15 = piVar8[0x37];\n                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }\n                      iVar6 = iVar15 + uVar5 * 0x10;\n                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }\n                    }" ({ "{") (expression_statement "iVar15 = piVar8[0x37];" (assignment_expression "iVar15 = piVar8[0x37]" (identifier "iVar15") (= "=") (subscript_expression "piVar8[0x37]" (identifier "piVar8") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (if_statement "if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" (if "if") (parenthesized_expression "((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5)" (( "(") (binary_expression "(uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5" (call_expression "(uint)(piVar8[0x38] - iVar15 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar8[0x38] - iVar15 >> 4)" (( "(") (binary_expression "piVar8[0x38] - iVar15 >> 4" (binary_expression "piVar8[0x38] - iVar15" (subscript_expression "piVar8[0x38]" (identifier "piVar8") ([ "[") (number_literal "0x38") (] "]")) (- "-") (identifier "iVar15")) (>> ">>") (number_literal "4")) () ")"))) (<= "<=") (identifier "uVar5")) () ")")) (compound_statement "{\n                    \n                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");\n                      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol")" (identifier "FUN_002446e0") (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8c1") (, ",") (string_literal ""local_symbol"" (" """) (string_content "local_symbol") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = iVar15 + uVar5 * 0x10;" (assignment_expression "iVar6 = iVar15 + uVar5 * 0x10" (identifier "iVar6") (= "=") (binary_expression "iVar15 + uVar5 * 0x10" (identifier "iVar15") (+ "+") (binary_expression "uVar5 * 0x10" (identifier "uVar5") (* "*") (number_literal "0x10")))) (; ";")) (if_statement "if ((char)*(byte *)(iVar6 + 0xb) < '\0') {\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }\n                      else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" (if "if") (parenthesized_expression "((char)*(byte *)(iVar6 + 0xb) < '\0')" (( "(") (binary_expression "(char)*(byte *)(iVar6 + 0xb) < '\0'" (cast_expression "(char)*(byte *)(iVar6 + 0xb)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)(iVar6 + 0xb)" (* "*") (cast_expression "(byte *)(iVar6 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xb)" (( "(") (binary_expression "iVar6 + 0xb" (identifier "iVar6") (+ "+") (number_literal "0xb")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        iVar15 = *(int *)(iVar6 + 0xc);\n                      }" ({ "{") (expression_statement "iVar15 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar6 + 0xc)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" (else "else") (compound_statement "{\n                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }\n                        puVar9 = *(uint **)(iVar6 + 0xc);\n                        uVar5 = *puVar9;\n                        uVar14 = uVar5 % puVar9[3];\n                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);\n                        if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }\nLAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);\n                      }" ({ "{") (if_statement "if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0xb) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)(iVar6 + 0xb) & 8" (pointer_expression "*(byte *)(iVar6 + 0xb)" (* "*") (cast_expression "(byte *)(iVar6 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xb)" (( "(") (binary_expression "iVar6 + 0xb" (identifier "iVar6") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);\n                        }" ({ "{") (expression_statement "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);" (call_expression "FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15)" (identifier "FUN_002446e0") (argument_list "("../../gold/object.h",0x6ab,"value",iVar15)" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x6ab") (, ",") (string_literal ""value"" (" """) (string_content "value") (" """)) (, ",") (identifier "iVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar9 = *(uint **)(iVar6 + 0xc);" (assignment_expression "puVar9 = *(uint **)(iVar6 + 0xc)" (identifier "puVar9") (= "=") (pointer_expression "*(uint **)(iVar6 + 0xc)" (* "*") (cast_expression "(uint **)(iVar6 + 0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar5 = *puVar9;" (assignment_expression "uVar5 = *puVar9" (identifier "uVar5") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "uVar14 = uVar5 % puVar9[3];" (assignment_expression "uVar14 = uVar5 % puVar9[3]" (identifier "uVar14") (= "=") (binary_expression "uVar5 % puVar9[3]" (identifier "uVar5") (% "%") (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "piVar21 = *(int **)(puVar9[2] + uVar14 * 4);" (assignment_expression "piVar21 = *(int **)(puVar9[2] + uVar14 * 4)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(puVar9[2] + uVar14 * 4)" (* "*") (cast_expression "(int **)(puVar9[2] + uVar14 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9[2] + uVar14 * 4)" (( "(") (binary_expression "puVar9[2] + uVar14 * 4" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (+ "+") (binary_expression "uVar14 * 4" (identifier "uVar14") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (piVar21 != (int *)0x0) {\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" (if "if") (parenthesized_expression "(piVar21 != (int *)0x0)" (( "(") (binary_expression "piVar21 != (int *)0x0" (identifier "piVar21") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                          uVar13 = ((int *)*piVar21)[1];\n                          piVar10 = (int *)*piVar21;\n                          while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }\n                          if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }\n                        }" ({ "{") (expression_statement "uVar13 = ((int *)*piVar21)[1];" (assignment_expression "uVar13 = ((int *)*piVar21)[1]" (identifier "uVar13") (= "=") (subscript_expression "((int *)*piVar21)[1]" (parenthesized_expression "((int *)*piVar21)" (( "(") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar10 = (int *)*piVar21;" (assignment_expression "piVar10 = (int *)*piVar21" (identifier "piVar10") (= "=") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (while_statement "while (piVar17 = piVar10, uVar5 != uVar13) {\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" (while "while") (parenthesized_expression "(piVar17 = piVar10, uVar5 != uVar13)" (( "(") (comma_expression "piVar17 = piVar10, uVar5 != uVar13" (assignment_expression "piVar17 = piVar10" (identifier "piVar17") (= "=") (identifier "piVar10")) (, ",") (binary_expression "uVar5 != uVar13" (identifier "uVar5") (!= "!=") (identifier "uVar13"))) () ")")) (compound_statement "{\n                            piVar10 = (int *)*piVar17;\n                            if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;\n                          }" ({ "{") (expression_statement "piVar10 = (int *)*piVar17;" (assignment_expression "piVar10 = (int *)*piVar17" (identifier "piVar10") (= "=") (cast_expression "(int *)*piVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar17" (* "*") (identifier "piVar17")))) (; ";")) (if_statement "if ((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )) goto LAB_0011505f;" (if "if") (parenthesized_expression "((piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               ))" (( "(") (binary_expression "(piVar10 == (int *)0x0) ||\n                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]\n                               )" (( "(") (comma_expression "uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "uVar13 = piVar10[1]" (identifier "uVar13") (= "=") (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]"))) (, ",") (comma_expression "piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]" (assignment_expression "piVar21 = piVar17" (identifier "piVar21") (= "=") (identifier "piVar17")) (, ",") (binary_expression "uVar14 != uVar13 % puVar9[3]" (identifier "uVar14") (!= "!=") (binary_expression "uVar13 % puVar9[3]" (identifier "uVar13") (% "%") (subscript_expression "puVar9[3]" (identifier "puVar9") ([ "[") (number_literal "3") (] "]")))))) () ")"))) () ")")) (goto_statement "goto LAB_0011505f;" (goto "goto") (statement_identifier "LAB_0011505f") (; ";"))) (} "}"))) (if_statement "if (*piVar21 != 0) {\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            iVar15 = *(int *)(*piVar21 + 8);\n                            goto LAB_00114f07;\n                          }" ({ "{") (expression_statement "iVar15 = *(int *)(*piVar21 + 8);" (assignment_expression "iVar15 = *(int *)(*piVar21 + 8)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(*piVar21 + 8)" (* "*") (cast_expression "(int *)(*piVar21 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar21 + 8)" (( "(") (binary_expression "*piVar21 + 8" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_00114f07;" (goto "goto") (statement_identifier "LAB_00114f07") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0011505f:\n                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" (statement_identifier "LAB_0011505f") (: ":") (expression_statement "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);" (assignment_expression "iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" (identifier "iVar15") (= "=") (call_expression "FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" (identifier "FUN_00318cf0") (argument_list "(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5)" (( "(") (identifier "puVar9") (, ",") (identifier "piVar8") (, ",") (binary_expression "*(uint *)(iVar6 + 8) & 0x7ffffff" (pointer_expression "*(uint *)(iVar6 + 8)" (* "*") (cast_expression "(uint *)(iVar6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x7ffffff")) (, ",") (identifier "uVar5") () ")")))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" (else "else") (compound_statement "{\n                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);\n                    }" ({ "{") (expression_statement "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);" (assignment_expression "iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0)" (parenthesized_expression "(**(code **)(*piVar8 + 0xa4))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0xa4)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0xa4)" (* "*") (cast_expression "(code **)(*piVar8 + 0xa4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0xa4)" (( "(") (binary_expression "*piVar8 + 0xa4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0xa4")) () ")"))))) () ")")) (argument_list "(piVar8,uVar5,0,0)" (( "(") (identifier "piVar8") (, ",") (identifier "uVar5") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" (else "else") (compound_statement "{\n                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }\n                    iVar15 = piVar8[0xc];\n                  }" ({ "{") (if_statement "if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 10) & 0xf) != 10)" (( "(") (binary_expression "(*(byte *)(piVar8 + 10) & 0xf) != 10" (parenthesized_expression "(*(byte *)(piVar8 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(piVar8 + 10) & 0xf" (pointer_expression "*(byte *)(piVar8 + 10)" (* "*") (cast_expression "(byte *)(piVar8 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 10)" (( "(") (binary_expression "piVar8 + 10" (identifier "piVar8") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n                    \n                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");\n                    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write")" (identifier "FUN_002446e0") (argument_list "("../../gold/arm.cc",0x1fd0,"do_write")" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1fd0") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar15 = piVar8[0xc];" (assignment_expression "iVar15 = piVar8[0xc]" (identifier "iVar15") (= "=") (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00114f07:\n                *piVar19 = iVar15;" (statement_identifier "LAB_00114f07") (: ":") (expression_statement "*piVar19 = iVar15;" (assignment_expression "*piVar19 = iVar15" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (identifier "iVar15")) (; ";"))) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar19 = piVar19 + 1;" (assignment_expression "piVar19 = piVar19 + 1" (identifier "piVar19") (= "=") (binary_expression "piVar19 + 1" (identifier "piVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "iVar15 = (**(code **)(*param_1 + 0x68))(param_1)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x68)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x68)" (* "*") (cast_expression "(code **)(*param_1 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x68)" (( "(") (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_7c = local_7c + iVar15;" (assignment_expression "local_7c = local_7c + iVar15" (identifier "local_7c") (= "=") (binary_expression "local_7c + iVar15" (identifier "local_7c") (+ "+") (identifier "iVar15"))) (; ";")) (expression_statement "uVar22 = (**(code **)(*param_1 + 0x68))(param_1);" (assignment_expression "uVar22 = (**(code **)(*param_1 + 0x68))(param_1)" (identifier "uVar22") (= "=") (call_expression "(**(code **)(*param_1 + 0x68))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x68))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x68)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x68)" (* "*") (cast_expression "(code **)(*param_1 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x68)" (( "(") (binary_expression "*param_1 + 0x68" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar15 = (int)((ulonglong)uVar22 >> 0x20);" (assignment_expression "iVar15 = (int)((ulonglong)uVar22 >> 0x20)" (identifier "iVar15") (= "=") (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar22")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_70 = local_70 + (int)uVar22;" (assignment_expression "local_70 = local_70 + (int)uVar22" (identifier "local_70") (= "=") (binary_expression "local_70 + (int)uVar22" (identifier "local_70") (+ "+") (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar12 != uVar18)" (( "(") (binary_expression "uVar12 != uVar18" (identifier "uVar12") (!= "!=") (identifier "uVar18")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_7c - iVar11 != uVar3) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" (if "if") (parenthesized_expression "(local_7c - iVar11 != uVar3)" (( "(") (binary_expression "local_7c - iVar11 != uVar3" (binary_expression "local_7c - iVar11" (identifier "local_7c") (- "-") (identifier "iVar11")) (!= "!=") (identifier "uVar3")) () ")")) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);\n            }" ({ "{") (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" (identifier "FUN_002446e0") (argument_list "("../../gold/arm.cc",0x1fdc,"do_write",iVar15)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1fdc") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "iVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)piVar19 - (int)puVar20 != uVar16) {\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" (if "if") (parenthesized_expression "((int)piVar19 - (int)puVar20 != uVar16)" (( "(") (binary_expression "(int)piVar19 - (int)puVar20 != uVar16" (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (- "-") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) (!= "!=") (identifier "uVar16")) () ")")) (compound_statement "{\n                    \n              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);\n            }" ({ "{") (expression_statement "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);" (call_expression "FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" (identifier "FUN_002446e0") (argument_list "("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1fdd") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (binary_expression "(int)piVar19 - (int)puVar20" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (- "-") (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20"))) () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_00115121;" (goto "goto") (statement_identifier "LAB_00115121") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0011513d:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size");" (statement_identifier "LAB_0011513d") (: ":") (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";"))) (} "}"))) (} "}"))) (labeled_statement "LAB_00115121:\n                    \n  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" (statement_identifier "LAB_00115121") (: ":") (expression_statement "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");" (call_expression "FUN_002446e0("../../gold/output.h",0x6f,"get_output_view")" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0x6f,"get_output_view")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x6f") (, ",") (string_literal ""get_output_view"" (" """) (string_content "get_output_view") (" """)) () ")"))) (; ";"))) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_plt_arm<false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_91258a::type_1<false>::function_1
          (type_1<false> *this,type_2 *of)

{
  type_3 *var_17;
  type_4 pIVar2;
  type_5 var_4;
  type_5 var_15;
  type_5 var_16;
  type_6 var_9;
  int var_11;
  type_7 *pOVar8;
  type_7 *pOVar9;
  type_8 *pXVar10;
  type_9 uVar11;
  var_1<32,var_2> *object;
  type_10 *p_Var12;
  var_3<32> *this_00;
  type_11 *var_27;
  type_11 *var_29;
  type_6 var_14;
  int var_13;
  type_12 *var_19;
  type_6 var_10;
  type_8 *pXVar18;
  type_11 *var_28;
  type_6 var_30;
  int var_6;
  type_6 var_18;
  type_13 p_Var23;
  type_6 var_8;
  type_12 *var_20;
  type_12 *var_32;
  type_13 var_26;
  type_12 *var_33;
  int var_34;
  
  var_4 = (this->super_Output_section_data).super_Output_data.field_0x1c;
  if ((var_4 & 4) == 0) goto LAB_0011515c;
  var_6 = *(int *)((int)&(this->super_Output_section_data).super_Output_data.offset_ + 4);
  var_10 = (type_6)(this->super_Output_section_data).super_Output_data.offset_;
  if ((var_4 & 2) == 0) goto LAB_0011513d;
  var_9 = (type_6)(this->super_Output_section_data).super_Output_data.data_size_;
  if (*(int *)((int)&(this->super_Output_section_data).super_Output_data.data_size_ + 4) != 0) {
LAB_0011517b:
                    /* WARNING: Subroutine does not return */
    gold::var_5("../../gold/gold.h",0xc0,"convert_types");
  }
  if (-1 < var_6) {
    var_8 = (type_6)of->file_size_;
    var_11 = *(int *)((int)&of->file_size_ + 4);
    var_6 = var_6 + (type_6)var_7(var_9,var_10);
    var_14 = (type_6)(var_8 < var_9 + var_10);
    var_13 = var_11 - var_6;
    if ((var_12(var_11,var_6) != var_12(var_13,var_14)) == (int)(var_13 - var_14) < 0) {
      var_19 = of->base_ + var_10;
      pOVar8 = this->got_plt_;
      var_15 = (pOVar8->super_Output_section_data_build).super_Output_section_data.super_Output_data.
              field_0x1c;
      if ((var_15 & 4) == 0) {
LAB_0011515c:
                    /* WARNING: Subroutine does not return */
        gold::var_5("../../gold/output.h",0xe3,"offset");
      }
      var_10 = (type_6)(pOVar8->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.offset_;
      var_6 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.
                              super_Output_data.offset_ + 4);
      if ((var_15 & 2) != 0) {
        var_14 = (type_6)(pOVar8->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.data_size_;
        var_13 = *(int *)((int)&(pOVar8->super_Output_section_data_build).super_Output_section_data.
                                super_Output_data.data_size_ + 4);
        pOVar9 = this->got_irelative_;
        var_16 = (pOVar9->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.field_0x1c;
        if ((var_16 & 4) == 0) goto LAB_0011515c;
        if (var_6 + var_13 + (type_6)var_7(var_10,var_14) !=
            *(int *)((int)&(pOVar9->super_Output_section_data_build).super_Output_section_data.
                           super_Output_data.offset_ + 4) ||
            (int)(pOVar9->super_Output_section_data_build).super_Output_section_data.
                 super_Output_data.offset_ != var_10 + var_14) {
                    /* WARNING: Subroutine does not return */
          gold::var_5("../../gold/arm.cc",0x1f9b,"do_write");
        }
        if ((var_16 & 2) != 0) {
          var_17 = &(pOVar9->super_Output_section_data_build).super_Output_section_data.
                    super_Output_data.data_size_;
          var_18 = var_14 + (int)*var_17;
          if (var_13 + *(int *)((int)&(pOVar9->super_Output_section_data_build).
                                      super_Output_section_data.super_Output_data.data_size_ + 4) +
              (type_6)var_7(var_14,(type_6)*var_17) != 0) goto LAB_0011517b;
          if ((-1 < var_6) &&
             (var_6 = var_6 + (type_6)var_7(var_18,var_10),
             var_8 = (type_6)(var_8 < var_18 + var_10), var_13 = var_11 - var_6,
             (var_12(var_11,var_6) != var_12(var_13,var_8)) == (int)(var_13 - var_8) < 0)) {
            var_20 = of->base_ + var_10;
            if (((var_4 & 1) == 0) ||
               (pXVar10 = *(type_8 **)&(this->super_Output_section_data).super_Output_data.address_,
               (var_15 & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
              gold::var_5("../../gold/output.h",0xc5,"address");
            }
            uVar11 = (type_9)
                     (pOVar8->super_Output_section_data_build).super_Output_section_data.
                     super_Output_data.address_;
            (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1b])
                      (this,var_19,uVar11,pXVar10);
            var_6 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19])
                               (this);
            var_33 = var_19 + var_6;
            var_20[0] = '\0';
            var_20[1] = '\0';
            var_20[2] = '\0';
            var_20[3] = '\0';
            var_32 = var_20 + 0xc;
            var_20[4] = '\0';
            var_20[5] = '\0';
            var_20[6] = '\0';
            var_20[7] = '\0';
            var_20[8] = '\0';
            var_20[9] = '\0';
            var_20[10] = '\0';
            var_20[0xb] = '\0';
            var_34 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x19]
                       )(this);
            var_10 = this->irelative_count_ + this->count_;
            if (this->irelative_count_ !=
                ((int)(this->irelative_data_vec_).
                      super__Vector_base<(anonymous_namespace)::type_1<false>::var_21,var_25::allocator<(anonymous_namespace)::type_1<false>::var_21>var_22>
                      ._M_impl._M_finish -
                 (int)(this->irelative_data_vec_).
                      super__Vector_base<(anonymous_namespace)::type_1<false>::var_21,var_25::allocator<(anonymous_namespace)::type_1<false>::var_21>var_22>
                      ._M_impl._M_start >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
              gold::var_5("../../gold/arm.cc",0x1fb2,"do_write");
            }
            if (var_10 != 0) {
              var_8 = 0;
              do {
                (*(this->super_Output_section_data).super_Output_data._vptr_Output_data[0x1c])
                          (this,var_33,uVar11,pXVar10,var_8 * 4 + 0xc,var_34);
                pXVar18 = pXVar10;
                if (this->count_ <= var_8) {
                  pIVar2 = (this->irelative_data_vec_).
                           super__Vector_base<(anonymous_namespace)::type_1<false>::var_21,var_25::allocator<(anonymous_namespace)::type_1<false>::var_21>var_22>
                           ._M_impl._M_start + (var_8 - this->count_);
                  object = (pIVar2->u_).local.relobj;
                  if (pIVar2->symbol_is_global_ == false) {
                    var_14 = (pIVar2->u_).local.index;
                    p_Var12 = (object->super_Sized_relobj<32,var_2>).super_Relobj.super_Object.
                              _vptr_Object[0x29];
                    if (p_Var12 == var_24::var_1<32,var_2>::var_23) {
                      var_6 = (int)*(type_3 *)&object->local_values_;
                      if ((type_6)((int)(object->local_values_).
                                      super__Vector_base<var_24::Symbol_value<32>,var_25::allocator<var_24::Symbol_value<32>var_22>var_22>
                                      ._M_impl._M_finish - var_6 >> 4) <= var_14) {
                    /* WARNING: Subroutine does not return */
                        gold::var_5("../../gold/object.h",0x8c1,"local_symbol");
                      }
                      var_6 = var_6 + var_14 * 0x10;
                      if ((char)*(type_5 *)(var_6 + 0xb) < '\0') {
                        pXVar18 = *(type_8 **)(var_6 + 0xc);
                      }
                      else {
                        if ((*(type_5 *)(var_6 + 0xb) & 8) == 0) {
                    /* WARNING: Subroutine does not return */
                          gold::var_5("../../gold/object.h",0x6ab,"value");
                        }
                        this_00 = *(var_3<32> **)(var_6 + 0xc);
                        var_14 = (this_00->output_addresses_)._M_h._M_bucket_count;
                        var_27 = (type_11 *)this_00->input_value_;
                        var_30 = (type_6)var_27 % var_14;
                        var_26 = (this_00->output_addresses_)._M_h._M_buckets[var_30];
                        if (var_26 != (type_13)0x0) {
                          var_28 = var_26->_M_nxt[1]._M_nxt;
                          var_29 = var_26->_M_nxt;
                          while (p_Var23 = var_29, var_27 != var_28) {
                            var_29 = p_Var23->_M_nxt;
                            if ((var_29 == (type_11 *)0x0) ||
                               (var_28 = var_29[1]._M_nxt, var_26 = p_Var23,
                               var_30 != (type_6)var_28 % var_14)) goto LAB_0011505f;
                          }
                          if (var_26->_M_nxt != (type_11 *)0x0) {
                            pXVar18 = (type_8 *)var_26->_M_nxt[2]._M_nxt;
                            goto LAB_00114f07;
                          }
                        }
LAB_0011505f:
                        pXVar18 = (type_8 *)
                                  var_24::var_3<32>::var_31
                                            (this_00,(type_14 *)object,
                                             *(type_6 *)(var_6 + 8) & 0x7ffffff,
                                             (type_15)var_27);
                      }
                    }
                    else {
                      pXVar18 = (type_8 *)(*p_Var12)(object,var_14,0,0);
                    }
                  }
                  else {
                    if (((object->super_Sized_relobj<32,var_2>).super_Relobj.super_Object.shnum_ &
                        0xf) != 10) {
                    /* WARNING: Subroutine does not return */
                      gold::var_5("../../gold/arm.cc",0x1fd0,"do_write");
                    }
                    pXVar18 = (object->super_Sized_relobj<32,var_2>).super_Relobj.super_Object.
                              xindex_;
                  }
                }
LAB_00114f07:
                *(type_8 **)var_32 = pXVar18;
                var_8 = var_8 + 1;
                var_32 = var_32 + 4;
                var_6 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data
                           [0x1a])(this);
                var_33 = var_33 + var_6;
                var_6 = (*(this->super_Output_section_data).super_Output_data._vptr_Output_data
                           [0x1a])(this);
                var_34 = var_34 + var_6;
              } while (var_10 != var_8);
            }
            if ((int)var_33 - (int)var_19 != var_9) {
                    /* WARNING: Subroutine does not return */
              gold::var_5("../../gold/arm.cc",0x1fdc,"do_write");
            }
            if ((int)var_32 - (int)var_20 != var_18) {
                    /* WARNING: Subroutine does not return */
              gold::var_5("../../gold/arm.cc",0x1fdd,"do_write");
            }
            return;
          }
          goto LAB_00115121;
        }
      }
LAB_0011513d:
                    /* WARNING: Subroutine does not return */
      gold::var_5("../../gold/output.h",0xcf,"data_size");
    }
  }
LAB_00115121:
                    /* WARNING: Subroutine does not return */
  gold::var_5("../../gold/output.h",0x6f,"get_output_view");
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int *param_1,int param_2)

{
  byte bVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  int *piVar8;
  uint *puVar9;
  int *piVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint uVar16;
  int *piVar17;
  uint uVar18;
  int *piVar19;
  undefined4 *puVar20;
  int *piVar21;
  undefined8 uVar22;
  int local_7c;
  int local_70;
  
  bVar1 = *(byte *)(param_1 + 7);
  if ((bVar1 & 4) == 0) goto LAB_0011515c;
  uVar12 = param_1[5];
  if ((bVar1 & 2) == 0) goto LAB_0011513d;
  uVar3 = param_1[3];
  if (param_1[4] != 0) {
LAB_0011517b:
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar12);
  }
  if (-1 < param_1[6]) {
    iVar4 = *(int *)(param_2 + 0xc);
    iVar15 = param_1[6] + (uint)CARRY4(uVar3,uVar12);
    uVar18 = (uint)(*(uint *)(param_2 + 8) < uVar3 + uVar12);
    iVar11 = iVar4 - iVar15;
    if ((SBORROW4(iVar4,iVar15) != SBORROW4(iVar11,uVar18)) == (int)(iVar11 - uVar18) < 0) {
      iVar11 = uVar12 + *(int *)(param_2 + 0x10);
      uVar12 = param_1[0xe];
      bVar2 = *(byte *)(uVar12 + 0x1c);
      if ((bVar2 & 4) == 0) {
LAB_0011515c:
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/output.h",0xe3,"offset");
      }
      uVar18 = *(uint *)(uVar12 + 0x14);
      iVar15 = *(int *)(uVar12 + 0x18);
      if ((bVar2 & 2) != 0) {
        uVar5 = *(uint *)(uVar12 + 0xc);
        iVar6 = param_1[0xf];
        if ((*(byte *)(iVar6 + 0x1c) & 4) == 0) goto LAB_0011515c;
        if (iVar15 + *(int *)(uVar12 + 0x10) + (uint)CARRY4(uVar18,uVar5) != *(int *)(iVar6 + 0x18)
            || *(int *)(iVar6 + 0x14) != uVar18 + uVar5) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/arm.cc",0x1f9b,"do_write",uVar12);
        }
        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) {
          uVar16 = uVar5 + *(uint *)(iVar6 + 0xc);
          if (*(int *)(uVar12 + 0x10) + *(int *)(iVar6 + 0x10) +
              (uint)CARRY4(uVar5,*(uint *)(iVar6 + 0xc)) != 0) goto LAB_0011517b;
          if ((-1 < iVar15) &&
             (iVar15 = iVar15 + (uint)CARRY4(uVar16,uVar18),
             uVar5 = (uint)(*(uint *)(param_2 + 8) < uVar16 + uVar18), iVar6 = iVar4 - iVar15,
             (SBORROW4(iVar4,iVar15) != SBORROW4(iVar6,uVar5)) == (int)(iVar6 - uVar5) < 0)) {
            puVar20 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar18);
            if (((bVar1 & 1) == 0) || (iVar4 = param_1[1], (bVar2 & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/output.h",0xc5,"address",uVar12);
            }
            uVar7 = *(undefined4 *)(uVar12 + 4);
            (**(code **)(*param_1 + 0x6c))(param_1,iVar11,uVar7,iVar4);
            local_7c = (**(code **)(*param_1 + 100))(param_1);
            local_7c = local_7c + iVar11;
            *puVar20 = 0;
            piVar19 = puVar20 + 3;
            puVar20[1] = 0;
            puVar20[2] = 0;
            local_70 = (**(code **)(*param_1 + 100))(param_1);
            iVar15 = param_1[0x11];
            uVar12 = iVar15 + param_1[0x10];
            if (iVar15 != (param_1[0x13] - param_1[0x12] >> 2) * -0x55555555) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fb2,"do_write",param_1);
            }
            if (uVar12 != 0) {
              uVar18 = 0;
              do {
                (**(code **)(*param_1 + 0x70))
                          (param_1,local_7c,uVar7,iVar4,uVar18 * 4 + 0xc,local_70);
                iVar15 = iVar4;
                if ((uint)param_1[0x10] <= uVar18) {
                  piVar21 = (int *)(param_1[0x12] + (uVar18 - param_1[0x10]) * 0xc);
                  piVar8 = (int *)*piVar21;
                  if ((char)piVar21[2] == '\0') {
                    uVar5 = piVar21[1];
                    if (*(code **)(*piVar8 + 0xa4) == FUN_00102980) {
                      iVar15 = piVar8[0x37];
                      if ((uint)(piVar8[0x38] - iVar15 >> 4) <= uVar5) {
                    /* WARNING: Subroutine does not return */
                        FUN_002446e0("../../gold/object.h",0x8c1,"local_symbol");
                      }
                      iVar6 = iVar15 + uVar5 * 0x10;
                      if ((char)*(byte *)(iVar6 + 0xb) < '\0') {
                        iVar15 = *(int *)(iVar6 + 0xc);
                      }
                      else {
                        if ((*(byte *)(iVar6 + 0xb) & 8) == 0) {
                    /* WARNING: Subroutine does not return */
                          FUN_002446e0("../../gold/object.h",0x6ab,"value",iVar15);
                        }
                        puVar9 = *(uint **)(iVar6 + 0xc);
                        uVar5 = *puVar9;
                        uVar14 = uVar5 % puVar9[3];
                        piVar21 = *(int **)(puVar9[2] + uVar14 * 4);
                        if (piVar21 != (int *)0x0) {
                          uVar13 = ((int *)*piVar21)[1];
                          piVar10 = (int *)*piVar21;
                          while (piVar17 = piVar10, uVar5 != uVar13) {
                            piVar10 = (int *)*piVar17;
                            if ((piVar10 == (int *)0x0) ||
                               (uVar13 = piVar10[1], piVar21 = piVar17, uVar14 != uVar13 % puVar9[3]
                               )) goto LAB_0011505f;
                          }
                          if (*piVar21 != 0) {
                            iVar15 = *(int *)(*piVar21 + 8);
                            goto LAB_00114f07;
                          }
                        }
LAB_0011505f:
                        iVar15 = FUN_00318cf0(puVar9,piVar8,*(uint *)(iVar6 + 8) & 0x7ffffff,uVar5);
                      }
                    }
                    else {
                      iVar15 = (**(code **)(*piVar8 + 0xa4))(piVar8,uVar5,0,0);
                    }
                  }
                  else {
                    if ((*(byte *)(piVar8 + 10) & 0xf) != 10) {
                    /* WARNING: Subroutine does not return */
                      FUN_002446e0("../../gold/arm.cc",0x1fd0,"do_write");
                    }
                    iVar15 = piVar8[0xc];
                  }
                }
LAB_00114f07:
                *piVar19 = iVar15;
                uVar18 = uVar18 + 1;
                piVar19 = piVar19 + 1;
                iVar15 = (**(code **)(*param_1 + 0x68))(param_1);
                local_7c = local_7c + iVar15;
                uVar22 = (**(code **)(*param_1 + 0x68))(param_1);
                iVar15 = (int)((ulonglong)uVar22 >> 0x20);
                local_70 = local_70 + (int)uVar22;
              } while (uVar12 != uVar18);
            }
            if (local_7c - iVar11 != uVar3) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fdc,"do_write",iVar15);
            }
            if ((int)piVar19 - (int)puVar20 != uVar16) {
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/arm.cc",0x1fdd,"do_write",(int)piVar19 - (int)puVar20);
            }
            return;
          }
          goto LAB_00115121;
        }
      }
LAB_0011513d:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/output.h",0xcf,"data_size");
    }
  }
LAB_00115121:
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");
}

