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

void __thiscall
anon_unknown.dwarf_d7d43e::Mips_output_data_plt<64,_false>::do_write
          (Mips_output_data_plt<64,_false> *this,Output_file *of)

{
  uint *puVar1;
  byte bVar2;
  uint uVar3;
  uint uVar4;
  Output_data_space *pOVar5;
  Target_mips<64,_false> *pTVar6;
  pointer ppMVar7;
  Mips_symbol<64> *pMVar8;
  uint uVar9;
  uint32_t uVar10;
  uint uVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  char *format;
  uint uVar14;
  int iVar15;
  uint uVar16;
  int iVar17;
  uchar *puVar18;
  undefined1 *puVar19;
  int iVar20;
  pointer ppMVar21;
  Target_mips<64,_false> *in_stack_ffffff84;
  int *local_68;
  undefined2 local_60;
  uint *local_54;
  
  uVar10 = this->plt0_entry_o32[7];
  if ((uVar10 & 4) != 0) {
    uVar3 = this->plt0_entry_o32[5];
    if ((uVar10 & 2) == 0) {
LAB_001805e4:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
    }
    uVar4 = this->plt0_entry_o32[3];
    if (this->plt0_entry_o32[4] != 0) {
LAB_0018061e:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
    }
    if (-1 < (int)this->plt0_entry_o32[6]) {
      uVar16 = (uint)of->file_size_;
      iVar20 = *(int *)((int)&of->file_size_ + 4);
      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);
      uVar9 = (uint)(uVar16 < uVar4 + uVar3);
      iVar17 = iVar20 - iVar15;
      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {
        puVar1 = (uint *)(of->base_ + uVar3);
        pOVar5 = this->got_plt_;
        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.field_0x1c;
        if ((bVar2 & 4) == 0) goto LAB_00180601;
        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.offset_;
        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                                super_Output_data.offset_ + 4);
        if ((bVar2 & 2) == 0) goto LAB_001805e4;
        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.data_size_;
        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;
        if ((-1 < iVar17) &&
           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),
           iVar15 = iVar20 - iVar17,
           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {
          puVar18 = of->base_ + uVar3;
          if ((uVar10 & 1) != 0) {
            uVar3 = this->plt0_entry_o32[1];
            uVar10 = this->plt0_entry_o32[2];
            if ((bVar2 & 1) != 0) {
              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                             super_Output_data.address_;
              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).
                                       super_Output_section_data.super_Output_data.address_ + 4);
              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&
                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");
              }
              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;
              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;
              puVar1[1] = uVar16 & 0xffff | 0xddd90000;
              local_54 = puVar1 + 8;
              puVar1[3] = 0x30ec023;
              puVar1[4] = 0x3e07825;
              local_68 = (int *)(puVar18 + 0x10);
              puVar1[5] = 0x18c0c2;
              puVar1[6] = 0x320f809;
              puVar1[7] = 0x2718fffe;
              puVar18[0] = '\0';
              puVar18[1] = '\0';
              puVar18[2] = '\0';
              puVar18[3] = '\0';
              puVar18[4] = '\0';
              puVar18[5] = '\0';
              puVar18[6] = '\0';
              puVar18[7] = '\0';
              puVar18[8] = '\0';
              puVar18[9] = '\0';
              puVar18[10] = '\0';
              puVar18[0xb] = '\0';
              puVar18[0xc] = '\0';
              puVar18[0xd] = '\0';
              puVar18[0xe] = '\0';
              puVar18[0xf] = '\0';
              uVar14 = this->plt_mips_offset_;
              if (uVar14 + this->plt_comp_offset_ == 0) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");
              }
              pTVar6 = this->target_;
              if (pTVar6->field_0xc == '\0') {
                    /* WARNING: Subroutine does not return */
                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);
              }
              ppMVar7 = (this->symbols_).
                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
                        ._M_impl._M_finish;
              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);
              ppMVar21 = (this->symbols_).
                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
                         ._M_impl._M_start;
              puVar12 = (undefined4 *)((int)local_54 + uVar14);
              if (ppMVar21 != ppMVar7) {
                uVar16 = uVar16 + 0x10;
                puVar13 = puVar12;
                do {
                  pMVar8 = *ppMVar21;
                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);
                  *local_68 = uVar11 + uVar3;
                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {
                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;
                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)
                    {
                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;
                    }
                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;
                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;
                    local_54[2] = *(uint *)(puVar19 + 8);
                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);
                    local_54 = local_54 + 4;
                  }
                  puVar12 = puVar13;
                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {
                    if ((pTVar6->field_0xb & 2) == 0) {
                      *puVar13 = 0x651bb303;
                      puVar12 = puVar13 + 4;
                      puVar13[1] = 0xeb009b60;
                      puVar13[2] = 0x6500653b;
                      puVar13[3] = uVar16;
                    }
                    else if (pTVar6->insn32_ == false) {
                      if ((uVar16 & 3) != 0) {
                    /* WARNING: Subroutine does not return */
                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");
                      }
                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);
                      if (0xffffff < iVar20) {
                        format = (char *)gettext(
                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"
                                                );
                        gold::gold_error(format,iVar20);
                        return;
                      }
                      puVar13[1] = 0xff22;
                      puVar12 = puVar13 + 3;
                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);
                      puVar13[2] = 0xf024599;
                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);
                    }
                    else {
                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);
                      *(short *)((int)puVar13 + 6) = (short)uVar16;
                      puVar12 = puVar13 + 4;
                      *(undefined2 *)puVar13 = 0x41af;
                      *(undefined2 *)((int)puVar13 + 2) = local_60;
                      *(undefined2 *)(puVar13 + 1) = 0xff2f;
                      puVar13[2] = 0xf3c0019;
                      *(undefined2 *)(puVar13 + 3) = 0x330f;
                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;
                    }
                  }
                  local_68 = local_68 + 2;
                  ppMVar21 = ppMVar21 + 1;
                  uVar16 = uVar16 + 8;
                  puVar13 = puVar12;
                } while (ppMVar7 != ppMVar21);
                uVar14 = this->plt_mips_offset_;
              }
              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");
              }
              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {
                if ((int)puVar12 - (int)puVar1 != uVar4) {
                    /* WARNING: Subroutine does not return */
                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");
                }
                if ((int)local_68 - (int)puVar18 == uVar9) {
                  return;
                }
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");
              }
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");
            }
          }
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
  }
LAB_00180601:
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
}



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

void FUN_001800f0(uint param_1,int param_2)

{
  uint *puVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  uint uVar6;
  uint *puVar7;
  uint uVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  undefined4 uVar11;
  int iVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  undefined4 *puVar16;
  undefined *puVar17;
  int iVar18;
  uint *puVar19;
  int *local_68;
  undefined2 local_60;
  uint *local_54;
  
  bVar2 = *(byte *)(param_1 + 0x1c);
  uVar8 = (uint)bVar2;
  if ((bVar2 & 4) != 0) {
    uVar15 = *(uint *)(param_1 + 0x14);
    uVar8 = param_1;
    if ((bVar2 & 2) == 0) {
LAB_001805e4:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);
    }
    uVar4 = *(uint *)(param_1 + 0xc);
    uVar8 = uVar4;
    if (*(int *)(param_1 + 0x10) != 0) {
LAB_0018061e:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);
    }
    if (-1 < *(int *)(param_1 + 0x18)) {
      iVar5 = *(int *)(param_2 + 0xc);
      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);
      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);
      iVar18 = iVar5 - iVar12;
      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {
        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);
        uVar8 = *(uint *)(param_1 + 0x30);
        bVar3 = *(byte *)(uVar8 + 0x1c);
        if ((bVar3 & 4) == 0) goto LAB_00180601;
        uVar15 = *(uint *)(uVar8 + 0x14);
        iVar18 = *(int *)(uVar8 + 0x18);
        if ((bVar3 & 2) == 0) goto LAB_001805e4;
        uVar6 = *(uint *)(uVar8 + 0xc);
        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;
        if ((-1 < iVar18) &&
           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),
           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),
           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==
           (int)((iVar5 - uVar14) - uVar13) < 0)) {
          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);
          if ((bVar2 & 1) != 0) {
            uVar14 = *(uint *)(param_1 + 4);
            iVar5 = *(int *)(param_1 + 8);
            if ((bVar3 & 1) != 0) {
              uVar15 = *(uint *)(uVar8 + 4);
              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&
                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);
              }
              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;
              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;
              puVar1[1] = uVar15 & 0xffff | 0xddd90000;
              local_54 = puVar1 + 8;
              puVar1[3] = 0x30ec023;
              puVar1[4] = 0x3e07825;
              local_68 = puVar16 + 4;
              puVar1[5] = 0x18c0c2;
              puVar1[6] = 0x320f809;
              puVar1[7] = 0x2718fffe;
              *puVar16 = 0;
              puVar16[1] = 0;
              puVar16[2] = 0;
              puVar16[3] = 0;
              iVar18 = *(int *)(param_1 + 0x40);
              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {
                iVar12 = *(int *)(param_1 + 0x4c);
                if (*(char *)(iVar12 + 0xc) != '\0') {
                  puVar7 = *(uint **)(param_1 + 0x38);
                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);
                  puVar19 = *(uint **)(param_1 + 0x34);
                  puVar9 = (undefined4 *)((int)local_54 + iVar18);
                  if (puVar19 != puVar7) {
                    uVar13 = uVar15 + 0x10;
                    puVar10 = puVar9;
                    do {
                      uVar15 = *puVar19;
                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);
                      *local_68 = uVar8 + uVar14;
                      if (*(int *)(uVar15 + 0x60) != -1) {
                        puVar17 = &DAT_0047aee0;
                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {
                          puVar17 = &DAT_0047aed0;
                        }
                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;
                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;
                        local_54[2] = *(uint *)(puVar17 + 8);
                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);
                        local_54 = local_54 + 4;
                      }
                      puVar9 = puVar10;
                      if (*(int *)(uVar15 + 100) != -1) {
                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {
                          *puVar10 = 0x651bb303;
                          puVar9 = puVar10 + 4;
                          puVar10[1] = 0xeb009b60;
                          puVar10[2] = 0x6500653b;
                          puVar10[3] = uVar13;
                        }
                        else if (*(char *)(iVar12 + 0x82) == '\0') {
                          if ((uVar13 & 3) != 0) {
                    /* WARNING: Subroutine does not return */
                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");
                          }
                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);
                          if (0xffffff < iVar18) {
                            uVar11 = gettext(
                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"
                                            );
                            FUN_0023b810(uVar11,iVar18);
                            return;
                          }
                          puVar10[1] = 0xff22;
                          puVar9 = puVar10 + 3;
                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);
                          puVar10[2] = 0xf024599;
                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);
                        }
                        else {
                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);
                          *(short *)((int)puVar10 + 6) = (short)uVar13;
                          puVar9 = puVar10 + 4;
                          uVar15 = 0xffffff2f;
                          *(undefined2 *)puVar10 = 0x41af;
                          *(undefined2 *)((int)puVar10 + 2) = local_60;
                          *(undefined2 *)(puVar10 + 1) = 0xff2f;
                          puVar10[2] = 0xf3c0019;
                          *(undefined2 *)(puVar10 + 3) = 0x330f;
                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;
                        }
                      }
                      local_68 = local_68 + 2;
                      puVar19 = puVar19 + 1;
                      uVar13 = uVar13 + 8;
                      puVar10 = puVar9;
                    } while (puVar7 != puVar19);
                    iVar18 = *(int *)(param_1 + 0x40);
                  }
                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {
                    /* WARNING: Subroutine does not return */
                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);
                  }
                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {
                    if ((int)puVar9 - (int)puVar1 != uVar4) {
                    /* WARNING: Subroutine does not return */
                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",
                                   (int)puVar9 - (int)local_54);
                    }
                    if ((int)local_68 - (int)puVar16 == uVar6) {
                      return;
                    }
                    /* WARNING: Subroutine does not return */
                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16
                                );
                  }
                    /* WARNING: Subroutine does not return */
                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);
                }
                FUN_00175b30();
              }
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);
            }
          }
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");
  }
LAB_00180601:
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);
}


CALL 0x00074f02
ADD EAX,0x469f0b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x6c
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV ESI,dword ptr [ESP + 0x84]
MOVZX EAX,byte ptr [EAX + 0x1c]
MOV byte ptr [ESP + 0x14],AL
TEST AL,0x4
JZ 0x00180601
MOV EAX,dword ptr [ESP + 0x80]
MOV ECX,dword ptr [EAX + 0x14]
MOV EBX,dword ptr [EAX + 0x18]
TEST byte ptr [ESP + 0x14],0x2
JZ 0x001805e4
MOV EAX,dword ptr [ESP + 0x80]
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x54],EDX
MOV dword ptr [ESP + 0x50],EAX
TEST EDX,EDX
JNZ 0x0018061e
TEST EBX,EBX
JS 0x001805c8
MOV EAX,dword ptr [ESI + 0x8]
MOV EDI,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [ESP + 0x54]
MOV EBP,EAX
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD EAX,ECX
ADC EDX,EBX
CMP EBP,EAX
MOV EBP,EDI
SBB EBP,EDX
JL 0x001805c8
MOV ESI,dword ptr [ESI + 0x10]
LEA EAX,[ESI + ECX*0x1]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0x30]
MOVZX EDX,byte ptr [EAX + 0x1c]
TEST DL,0x4
JZ 0x00180601
MOV ECX,dword ptr [EAX + 0x14]
MOV EBX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP + 0xc],EBX
TEST DL,0x2
JZ 0x001805e4
MOV ECX,dword ptr [EAX + 0xc]
MOV EBX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x48],ECX
MOV dword ptr [ESP + 0x4c],EBX
TEST EBX,EBX
JNZ 0x0018061e
MOV EBP,dword ptr [ESP + 0xc]
TEST EBP,EBP
JS 0x001805c8
MOV ECX,dword ptr [ESP + 0x48]
MOV EBX,dword ptr [ESP + 0x4c]
ADD ECX,dword ptr [ESP + 0x8]
ADC EBX,dword ptr [ESP + 0xc]
CMP dword ptr [ESP + 0x18],ECX
SBB EDI,EBX
JL 0x001805c8
ADD ESI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x58],ESI
TEST byte ptr [ESP + 0x14],0x1
JZ 0x0018063b
MOV EDI,dword ptr [ESP + 0x80]
AND EDX,0x1
MOV EBX,dword ptr [EDI + 0x4]
MOV ESI,dword ptr [EDI + 0x8]
MOV dword ptr [ESP + 0x40],EBX
MOV dword ptr [ESP + 0x44],ESI
JZ 0x0018063b
MOV EBX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [EAX + 0x8]
MOV EAX,EBX
MOV EDX,ESI
MOV EDI,EBX
MOV ECX,ESI
ADD EAX,0x8000
ADC EDX,0x0
AND EDI,0x80000000
SHRD EAX,EDX,0x10
MOVZX EDX,BX
AND EAX,0xffff
OR EDI,ESI
JNZ 0x00180548
MOV EDI,dword ptr [ESP + 0x3c]
OR EAX,0x3c0e0000
MOV dword ptr [EDI],EAX
MOV EAX,EDX
OR EDX,0x25ce0000
OR EAX,0xddd90000
MOV dword ptr [EDI + 0x8],EDX
MOV dword ptr [EDI + 0x4],EAX
LEA EAX,[EDI + 0x20]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x58]
MOV dword ptr [EDI + 0xc],0x30ec023
MOV dword ptr [EDI + 0x10],0x3e07825
ADD EAX,0x10
MOV dword ptr [EDI + 0x14],0x18c0c2
MOV dword ptr [EDI + 0x18],0x320f809
MOV dword ptr [EDI + 0x1c],0x2718fffe
MOV dword ptr [EAX + -0x10],0x0
MOV dword ptr [EAX + -0xc],0x0
MOV dword ptr [EAX + -0x8],0x0
MOV dword ptr [EAX + -0x4],0x0
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV ECX,dword ptr [EAX + 0x40]
MOV EDX,ECX
ADD EDX,dword ptr [EAX + 0x44]
JZ 0x0018065d
MOV EAX,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0x4c]
CMP byte ptr [EAX + 0xc],0x0
MOV dword ptr [ESP + 0x18],EAX
JZ 0x00180658
MOV EAX,dword ptr [ESP + 0x18]
MOV EDI,dword ptr [ESP + 0x80]
MOV EAX,dword ptr [EAX + 0x8]
MOV EDI,dword ptr [EDI + 0x38]
MOV dword ptr [ESP + 0x8],EAX
SHR EAX,0x19
TEST ECX,ECX
SETZ DL
MOV dword ptr [ESP + 0x2c],EDI
AND EAX,EDX
XOR EDX,EDX
ADD EAX,dword ptr [ESP + 0x40]
ADC EDX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x24],EDX
MOV EDX,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [EDX + 0x34]
ADD EAX,ECX
CMP EDX,EDI
JZ 0x001804ea
MOV EDI,EDX
LEA EDX,[EBX + 0x10]
MOV EBX,dword ptr [ESP + 0x5c]
LEA ESI,[EBX + 0xffe90ee0]
LEA EBX,[EBX + 0xffe90ed0]
MOV dword ptr [ESP + 0x34],ESI
MOV dword ptr [ESP + 0x38],EBX
JMP 0x00180397
MOV dword ptr [EAX],0x651bb303
ADD EAX,0x10
MOV dword ptr [EAX + -0xc],0xeb009b60
MOV dword ptr [EAX + -0x8],0x6500653b
MOV dword ptr [EAX + -0x4],EDX
ADD dword ptr [ESP + 0x14],0x8
ADD EDI,0x4
ADD EDX,0x8
CMP dword ptr [ESP + 0x2c],EDI
JZ 0x001804e0
MOV ESI,dword ptr [EDI]
LEA ECX,[EDX + 0x8000]
MOV EBX,dword ptr [ESP + 0x20]
SHR ECX,0x10
MOV dword ptr [ESP + 0x8],ESI
MOV EBP,ECX
MOV ESI,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x1c],ECX
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ECX + 0x4],ESI
MOV ESI,dword ptr [ESP + 0x8]
MOV dword ptr [ECX],EBX
CMP dword ptr [ESI + 0x60],-0x1
JZ 0x0018041f
MOV ESI,dword ptr [ESP + 0x18]
MOV EBX,dword ptr [ESI + 0x8]
MOV ESI,dword ptr [ESP + 0x34]
MOV ECX,EBX
MOV dword ptr [ESP + 0x30],EBX
MOV EBX,dword ptr [ESP + 0x28]
AND ECX,0xf0000000
ADD ECX,0x70000000
AND ECX,0xe0000000
CMOVZ ESI,dword ptr [ESP + 0x38]
MOVZX ECX,DX
OR EBP,0x3c0f0000
MOV dword ptr [EBX],EBP
ADD EBX,0x10
MOV EBP,dword ptr [ESI + 0x4]
OR EBP,ECX
OR EBP,0xdc000000
MOV dword ptr [EBX + -0xc],EBP
MOV EBP,dword ptr [ESI + 0x8]
MOV dword ptr [EBX + -0x8],EBP
OR ECX,dword ptr [ESI + 0xc]
MOV dword ptr [EBX + -0x4],ECX
MOV dword ptr [ESP + 0x28],EBX
MOV EBX,dword ptr [ESP + 0x8]
CMP dword ptr [EBX + 0x64],-0x1
JZ 0x00180382
MOV ESI,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + 0xb],0x2
JZ 0x00180368
MOV ESI,dword ptr [ESP + 0x18]
CMP byte ptr [ESI + 0x82],0x0
JZ 0x00180488
MOVZX ESI,word ptr [ESP + 0x1c]
MOV ECX,0x41af
MOV word ptr [EAX + 0x6],DX
ADD EAX,0x10
MOV EBX,0xffffff2f
MOV word ptr [EAX + -0x10],CX
MOV word ptr [EAX + -0xe],SI
MOV ESI,0x330f
MOV word ptr [EAX + -0xc],BX
MOV dword ptr [EAX + -0x8],0xf3c0019
MOV word ptr [EAX + -0x4],SI
MOV word ptr [EAX + -0x2],DX
JMP 0x00180382
TEST DL,0x3
JNZ 0x001805a9
MOV ESI,dword ptr [ESP + 0x40]
LEA ECX,[EAX + ESI*0x1]
SUB ECX,dword ptr [ESP + 0x3c]
MOV ESI,EDX
AND ECX,0xfffffffc
SUB ESI,ECX
CMP ESI,0xffffff
JG 0x00180580
MOV ECX,ESI
SAR ESI,0x2
MOV dword ptr [EAX + 0x4],0xff22
ADD EAX,0xc
SAR ECX,0x12
MOV word ptr [EAX + -0xa],SI
AND ECX,0x7f
MOV dword ptr [EAX + -0x4],0xf024599
OR CH,0x79
MOV word ptr [EAX + -0xc],CX
JMP 0x00180382
MOV EDX,dword ptr [ESP + 0x80]
MOV ECX,dword ptr [EDX + 0x40]
MOV EDI,dword ptr [ESP + 0x80]
MOV EDX,dword ptr [ESP + 0x28]
SUB EDX,dword ptr [ESP + 0x3c]
SUB EDX,dword ptr [EDI + 0x48]
CMP EDX,ECX
JNZ 0x001806d1
MOV EDI,dword ptr [ESP + 0x80]
MOV EDX,EAX
SUB EDX,dword ptr [ESP + 0x28]
CMP EDX,dword ptr [EDI + 0x44]
JNZ 0x001806b4
SUB EAX,dword ptr [ESP + 0x3c]
CMP EAX,dword ptr [ESP + 0x50]
JNZ 0x00180697
MOV EAX,dword ptr [ESP + 0x14]
SUB EAX,dword ptr [ESP + 0x58]
CMP EAX,dword ptr [ESP + 0x48]
JNZ 0x0018067a
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,EBX
OR EDI,0x7fffffff
AND ECX,EDI
CMP ECX,-0x1
JZ 0x0018025b
PUSH EBP
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1d6e
PUSH EAX
CALL 0x002446e0
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x68]
LEA EAX,[EDI + 0xffe8761c]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
POP EDI
POP EBP
PUSH ESI
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1e17
PUSH EAX
CALL 0x002446e0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe905a4]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x6f
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe90cd0]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xcf
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe905b4]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xe3
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe90554]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe90ba8]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
CALL 0x00175b30
PUSH EDI
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe90500]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0xa1f
PUSH EAX
CALL 0x002446e0
PUSH EAX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1e3b
PUSH EAX
CALL 0x002446e0
PUSH EDX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1e38
PUSH EAX
CALL 0x002446e0
PUSH ECX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1e36
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xffe9052c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1e33
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_001800f0(uint param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}\n\n" comment (function_definition "void FUN_001800f0(uint param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" primitive_type (function_declarator "FUN_001800f0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined2 local_60;" type_identifier identifier ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\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 "{\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }" { (expression_statement "uVar15 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = param_1;" (assignment_expression "uVar8 = param_1" identifier = identifier) ;) (if_statement "if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\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 "{\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }" { (labeled_statement "LAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",uVar8)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = uVar4;" (assignment_expression "uVar8 = uVar4" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" ( (binary_expression "*(int *)(param_1 + 0x10) != 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" { (labeled_statement "LAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar8)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;)) })) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(param_1 + 0x18))" ( (binary_expression "-1 < *(int *)(param_1 + 0x18)" number_literal < (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" { (expression_statement "iVar5 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar5 = *(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 "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" identifier = (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar4,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar4,uVar15)" identifier (argument_list "(uVar4,uVar15)" ( identifier , identifier )))))) ;) (expression_statement "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);" (assignment_expression "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar15)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar15" (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 "uVar4 + uVar15" identifier + identifier)) )))) ;) (expression_statement "iVar18 = iVar5 - iVar12;" (assignment_expression "iVar18 = iVar5 - iVar12" identifier = (binary_expression "iVar5 - iVar12" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" if (parenthesized_expression "((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0)" ( (binary_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0" (parenthesized_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8))" ( (binary_expression "SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)" (call_expression "SBORROW4(iVar5,iVar12)" identifier (argument_list "(iVar5,iVar12)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar18,uVar8)" identifier (argument_list "(iVar18,uVar8)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar18 - uVar8) < 0" (cast_expression "(int)(iVar18 - uVar8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar18 - uVar8)" ( (binary_expression "iVar18 - uVar8" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" { (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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) )))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(uVar8 + 0x1c);" (assignment_expression "bVar3 = *(byte *)(uVar8 + 0x1c)" identifier = (pointer_expression "*(byte *)(uVar8 + 0x1c)" * (cast_expression "(byte *)(uVar8 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x1c)" ( (binary_expression "uVar8 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 4) == 0) goto LAB_00180601;" 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_00180601;" goto statement_identifier ;)) (expression_statement "uVar15 = *(uint *)(uVar8 + 0x14);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(uVar8 + 0x14)" * (cast_expression "(uint *)(uVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x14)" ( (binary_expression "uVar8 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(uVar8 + 0x18);" (assignment_expression "iVar18 = *(int *)(uVar8 + 0x18)" identifier = (pointer_expression "*(int *)(uVar8 + 0x18)" * (cast_expression "(int *)(uVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x18)" ( (binary_expression "uVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 2) == 0) goto LAB_001805e4;" 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_001805e4;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(uVar8 + 0xc);" (assignment_expression "uVar6 = *(uint *)(uVar8 + 0xc)" identifier = (pointer_expression "*(uint *)(uVar8 + 0xc)" * (cast_expression "(uint *)(uVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0xc)" ( (binary_expression "uVar8 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;" if (parenthesized_expression "(*(int *)(uVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(uVar8 + 0x10) != 0" (pointer_expression "*(int *)(uVar8 + 0x10)" * (cast_expression "(int *)(uVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x10)" ( (binary_expression "uVar8 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0018061e;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" if (parenthesized_expression "((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0))" ( (binary_expression "(-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" (parenthesized_expression "(-1 < iVar18)" ( (binary_expression "-1 < iVar18" number_literal < identifier) )) && (parenthesized_expression "(uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" ( (comma_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15)" identifier = (binary_expression "iVar18 + (uint)CARRY4(uVar6,uVar15)" identifier + (cast_expression "(uint)CARRY4(uVar6,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar6,uVar15)" identifier (argument_list "(uVar6,uVar15)" ( identifier , identifier )))))) , (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar6 + uVar15)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar6 + uVar15" (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 "uVar6 + uVar15" identifier + identifier)) )))) , (binary_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (parenthesized_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13))" ( (binary_expression "SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)" (call_expression "SBORROW4(iVar5,uVar14)" identifier (argument_list "(iVar5,uVar14)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar5 - uVar14,uVar13)" identifier (argument_list "(iVar5 - uVar14,uVar13)" ( (binary_expression "iVar5 - uVar14" identifier - identifier) , identifier )))) )) == (binary_expression "(int)((iVar5 - uVar14) - uVar13) < 0" (cast_expression "(int)((iVar5 - uVar14) - uVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iVar5 - uVar14) - uVar13)" ( (binary_expression "(iVar5 - uVar14) - uVar13" (parenthesized_expression "(iVar5 - uVar14)" ( (binary_expression "iVar5 - uVar14" identifier - identifier) )) - identifier) ))) < number_literal)))) ))) )) (compound_statement "{\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" { (expression_statement "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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 ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" { (expression_statement "uVar14 = *(uint *)(param_1 + 4);" (assignment_expression "uVar14 = *(uint *)(param_1 + 4)" identifier = (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(param_1 + 8);" (assignment_expression "iVar5 = *(int *)(param_1 + 8)" identifier = (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    /* WARNING: Subroutine does not return */\n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" { (expression_statement "uVar15 = *(uint *)(uVar8 + 4);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 4)" identifier = (pointer_expression "*(uint *)(uVar8 + 4)" * (cast_expression "(uint *)(uVar8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 4)" ( (binary_expression "uVar8 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" if (parenthesized_expression "(((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff))" ( (binary_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" (parenthesized_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0)" ( (binary_expression "(uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0" (binary_expression "(uVar15 & 0x80000000) != 0" (parenthesized_expression "(uVar15 & 0x80000000)" ( (binary_expression "uVar15 & 0x80000000" identifier & number_literal) )) != number_literal) || (binary_expression "*(uint *)(uVar8 + 8) != 0" (pointer_expression "*(uint *)(uVar8 + 8)" * (cast_expression "(uint *)(uVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) )))) != number_literal)) )) && (parenthesized_expression "((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" ( (binary_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff" (parenthesized_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff))" ( (binary_expression "*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)" (pointer_expression "*(uint *)(uVar8 + 8)" * (cast_expression "(uint *)(uVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) )))) & (parenthesized_expression "(uVar15 | 0x7fffffff)" ( (binary_expression "uVar15 | 0x7fffffff" identifier | number_literal) ))) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" { comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" identifier (argument_list "("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (expression_statement "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;" (assignment_expression "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (pointer_expression "*puVar1" * identifier) = (binary_expression "uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (binary_expression "uVar15 + 0x8000 >> 0x10" (binary_expression "uVar15 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "puVar1[2] = uVar15 & 0xffff | 0x25ce0000;" (assignment_expression "puVar1[2] = uVar15 & 0xffff | 0x25ce0000" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = (binary_expression "uVar15 & 0xffff | 0x25ce0000" (binary_expression "uVar15 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "puVar1[1] = uVar15 & 0xffff | 0xddd90000;" (assignment_expression "puVar1[1] = uVar15 & 0xffff | 0xddd90000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = (binary_expression "uVar15 & 0xffff | 0xddd90000" (binary_expression "uVar15 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "local_54 = puVar1 + 8;" (assignment_expression "local_54 = puVar1 + 8" identifier = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar1[3] = 0x30ec023;" (assignment_expression "puVar1[3] = 0x30ec023" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[4] = 0x3e07825;" (assignment_expression "puVar1[4] = 0x3e07825" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68 = puVar16 + 4;" (assignment_expression "local_68 = puVar16 + 4" identifier = (binary_expression "puVar16 + 4" identifier + number_literal)) ;) (expression_statement "puVar1[5] = 0x18c0c2;" (assignment_expression "puVar1[5] = 0x18c0c2" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[6] = 0x320f809;" (assignment_expression "puVar1[6] = 0x320f809" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[7] = 0x2718fffe;" (assignment_expression "puVar1[7] = 0x2718fffe" (subscript_expression "puVar1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar16 = 0;" (assignment_expression "*puVar16 = 0" (pointer_expression "*puVar16" * identifier) = number_literal) ;) (expression_statement "puVar16[1] = 0;" (assignment_expression "puVar16[1] = 0" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar16[2] = 0;" (assignment_expression "puVar16[2] = 0" (subscript_expression "puVar16[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar16[3] = 0;" (assignment_expression "puVar16[3] = 0" (subscript_expression "puVar16[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" if (parenthesized_expression "(iVar18 + *(int *)(param_1 + 0x44) != 0)" ( (binary_expression "iVar18 + *(int *)(param_1 + 0x44) != 0" (binary_expression "iVar18 + *(int *)(param_1 + 0x44)" identifier + (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" { (expression_statement "iVar12 = *(int *)(param_1 + 0x4c);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x4c)" identifier = (pointer_expression "*(int *)(param_1 + 0x4c)" * (cast_expression "(int *)(param_1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" if (parenthesized_expression "(*(char *)(iVar12 + 0xc) != '\0')" ( (binary_expression "*(char *)(iVar12 + 0xc) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xc)" * (cast_expression "(char *)(iVar12 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    /* WARNING: Subroutine does not return */\n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" { (expression_statement "puVar7 = *(uint **)(param_1 + 0x38);" (assignment_expression "puVar7 = *(uint **)(param_1 + 0x38)" identifier = (pointer_expression "*(uint **)(param_1 + 0x38)" * (cast_expression "(uint **)(param_1 + 0x38)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);" (assignment_expression "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" identifier = (binary_expression "*(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" (binary_expression "*(uint *)(iVar12 + 8) >> 0x19" (pointer_expression "*(uint *)(iVar12 + 8)" * (cast_expression "(uint *)(iVar12 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) >> number_literal) & (call_expression "(uint)(iVar18 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) ))))) ;) (expression_statement "puVar19 = *(uint **)(param_1 + 0x34);" (assignment_expression "puVar19 = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)((int)local_54 + iVar18);" (assignment_expression "puVar9 = (undefined4 *)((int)local_54 + iVar18)" identifier = (cast_expression "(undefined4 *)((int)local_54 + iVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + iVar18)" ( (binary_expression "(int)local_54 + iVar18" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" if (parenthesized_expression "(puVar19 != puVar7)" ( (binary_expression "puVar19 != puVar7" identifier != identifier) )) (compound_statement "{\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" { (expression_statement "uVar13 = uVar15 + 0x10;" (assignment_expression "uVar13 = uVar15 + 0x10" identifier = (binary_expression "uVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (do_statement "do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);" do (compound_statement "{\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    }" { (expression_statement "uVar15 = *puVar19;" (assignment_expression "uVar15 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);" (assignment_expression "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14)" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (binary_expression "iVar5 + (uint)CARRY4(uVar8,uVar14)" identifier + (cast_expression "(uint)CARRY4(uVar8,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier )))))) ;) (expression_statement "*local_68 = uVar8 + uVar14;" (assignment_expression "*local_68 = uVar8 + uVar14" (pointer_expression "*local_68" * identifier) = (binary_expression "uVar8 + uVar14" identifier + identifier)) ;) (if_statement "if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" if (parenthesized_expression "(*(int *)(uVar15 + 0x60) != -1)" ( (binary_expression "*(int *)(uVar15 + 0x60) != -1" (pointer_expression "*(int *)(uVar15 + 0x60)" * (cast_expression "(int *)(uVar15 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + 0x60)" ( (binary_expression "uVar15 + 0x60" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" { (expression_statement "puVar17 = &DAT_0047aee0;" (assignment_expression "puVar17 = &DAT_0047aee0" identifier = (pointer_expression "&DAT_0047aee0" & identifier)) ;) (if_statement "if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }" if (parenthesized_expression "(((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)" ( (binary_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0" (parenthesized_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000)" ( (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000" (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000" (parenthesized_expression "(*(uint *)(iVar12 + 8) & 0xf0000000)" ( (binary_expression "*(uint *)(iVar12 + 8) & 0xf0000000" (pointer_expression "*(uint *)(iVar12 + 8)" * (cast_expression "(uint *)(iVar12 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) & number_literal) )) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n                          puVar17 = &DAT_0047aed0;\n                        }" { (expression_statement "puVar17 = &DAT_0047aed0;" (assignment_expression "puVar17 = &DAT_0047aed0" identifier = (pointer_expression "&DAT_0047aed0" & identifier)) ;) })) (expression_statement "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;" (assignment_expression "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (pointer_expression "*local_54" * identifier) = (binary_expression "uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;" (assignment_expression "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff" (pointer_expression "*(uint *)(puVar17 + 4)" * (cast_expression "(uint *)(puVar17 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 4)" ( (binary_expression "puVar17 + 4" identifier + number_literal) )))) | (binary_expression "uVar13 & 0xffff" identifier & number_literal)) | number_literal)) ;) (expression_statement "local_54[2] = *(uint *)(puVar17 + 8);" (assignment_expression "local_54[2] = *(uint *)(puVar17 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(puVar17 + 8)" * (cast_expression "(uint *)(puVar17 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);" (assignment_expression "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (subscript_expression "local_54[3]" identifier [ number_literal ]) = (binary_expression "uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (binary_expression "uVar13 & 0xffff" identifier & number_literal) | (pointer_expression "*(uint *)(puVar17 + 0xc)" * (cast_expression "(uint *)(puVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0xc)" ( (binary_expression "puVar17 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "local_54 = local_54 + 4;" (assignment_expression "local_54 = local_54 + 4" identifier = (binary_expression "local_54 + 4" identifier + number_literal)) ;) })) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" if (parenthesized_expression "(*(int *)(uVar15 + 100) != -1)" ( (binary_expression "*(int *)(uVar15 + 100) != -1" (pointer_expression "*(int *)(uVar15 + 100)" * (cast_expression "(int *)(uVar15 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + 100)" ( (binary_expression "uVar15 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" { (if_statement "if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" if (parenthesized_expression "((*(byte *)(iVar12 + 0xb) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0xb) & 2)" ( (binary_expression "*(byte *)(iVar12 + 0xb) & 2" (pointer_expression "*(byte *)(iVar12 + 0xb)" * (cast_expression "(byte *)(iVar12 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xb)" ( (binary_expression "iVar12 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }" { (expression_statement "*puVar10 = 0x651bb303;" (assignment_expression "*puVar10 = 0x651bb303" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "puVar10[1] = 0xeb009b60;" (assignment_expression "puVar10[1] = 0xeb009b60" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x6500653b;" (assignment_expression "puVar10[2] = 0x6500653b" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = uVar13;" (assignment_expression "puVar10[3] = uVar13" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" else (if_statement "if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" if (parenthesized_expression "(*(char *)(iVar12 + 0x82) == '\0')" ( (binary_expression "*(char *)(iVar12 + 0x82) == '\0'" (pointer_expression "*(char *)(iVar12 + 0x82)" * (cast_expression "(char *)(iVar12 + 0x82)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x82)" ( (binary_expression "iVar12 + 0x82" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }" { (if_statement "if ((uVar13 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" if (parenthesized_expression "((uVar13 & 3) != 0)" ( (binary_expression "(uVar13 & 3) != 0" (parenthesized_expression "(uVar13 & 3)" ( (binary_expression "uVar13 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" { comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e17,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (expression_statement "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);" (assignment_expression "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" identifier = (binary_expression "uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" identifier - (parenthesized_expression "((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" ( (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc" (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1)" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar14 - (int)puVar1)" ( (binary_expression "uVar14 - (int)puVar1" identifier - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (if_statement "if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" if (parenthesized_expression "(0xffffff < iVar18)" ( (binary_expression "0xffffff < iVar18" number_literal < identifier) )) (compound_statement "{\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" { (expression_statement "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );" (assignment_expression "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" identifier = (call_expression "gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" identifier (argument_list "(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" ( (string_literal "".got.plt offset of %ld from .plt beyond the range of ADDIUPC"" " string_content ") )))) ;) (expression_statement "FUN_0023b810(uVar11,iVar18);" (call_expression "FUN_0023b810(uVar11,iVar18)" identifier (argument_list "(uVar11,iVar18)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar10[1] = 0xff22;" (assignment_expression "puVar10[1] = 0xff22" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9 = puVar10 + 3;" (assignment_expression "puVar9 = puVar10 + 3" identifier = (binary_expression "puVar10 + 3" identifier + number_literal)) ;) (expression_statement "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);" (assignment_expression "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2)" (pointer_expression "*(short *)((int)puVar10 + 2)" * (cast_expression "(short *)((int)puVar10 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 2)" ( (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)(iVar18 >> 2)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(iVar18 >> 2)" ( (binary_expression "iVar18 >> 2" identifier >> number_literal) )))) ;) (expression_statement "puVar10[2] = 0xf024599;" (assignment_expression "puVar10[2] = 0xf024599" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);" (assignment_expression "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" (pointer_expression "*(ushort *)puVar10" * (cast_expression "(ushort *)puVar10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (call_expression "CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" identifier (argument_list "(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" ( number_literal , (binary_expression "(byte)(iVar18 >> 0x12) & 0x7f" (call_expression "(byte)(iVar18 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(iVar18 >> 0x12)" ( (binary_expression "iVar18 >> 0x12" identifier >> number_literal) ))) & number_literal) )))) ;) }) (else_clause "else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" else (compound_statement "{\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" { (expression_statement "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);" (assignment_expression "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10)" identifier = (call_expression "(undefined2)(uVar13 + 0x8000 >> 0x10)" (parenthesized_expression "(undefined2)" ( identifier )) (argument_list "(uVar13 + 0x8000 >> 0x10)" ( (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" identifier + number_literal) >> number_literal) )))) ;) (expression_statement "*(short *)((int)puVar10 + 6) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 6) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 6)" * (cast_expression "(short *)((int)puVar10 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 6)" ( (binary_expression "(int)puVar10 + 6" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "uVar15 = 0xffffff2f;" (assignment_expression "uVar15 = 0xffffff2f" identifier = number_literal) ;) (expression_statement "*(undefined2 *)puVar10 = 0x41af;" (assignment_expression "*(undefined2 *)puVar10 = 0x41af" (pointer_expression "*(undefined2 *)puVar10" * (cast_expression "(undefined2 *)puVar10" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined2 *)((int)puVar10 + 2) = local_60;" (assignment_expression "*(undefined2 *)((int)puVar10 + 2) = local_60" (pointer_expression "*(undefined2 *)((int)puVar10 + 2)" * (cast_expression "(undefined2 *)((int)puVar10 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 2)" ( (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(puVar10 + 1) = 0xff2f;" (assignment_expression "*(undefined2 *)(puVar10 + 1) = 0xff2f" (pointer_expression "*(undefined2 *)(puVar10 + 1)" * (cast_expression "(undefined2 *)(puVar10 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar10[2] = 0xf3c0019;" (assignment_expression "puVar10[2] = 0xf3c0019" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar10 + 3) = 0x330f;" (assignment_expression "*(undefined2 *)(puVar10 + 3) = 0x330f" (pointer_expression "*(undefined2 *)(puVar10 + 3)" * (cast_expression "(undefined2 *)(puVar10 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(short *)((int)puVar10 + 0xe) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 0xe) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 0xe)" * (cast_expression "(short *)((int)puVar10 + 0xe)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 0xe)" ( (binary_expression "(int)puVar10 + 0xe" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) }))))) })) (expression_statement "local_68 = local_68 + 2;" (assignment_expression "local_68 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) }) while (parenthesized_expression "(puVar7 != puVar19)" ( (binary_expression "puVar7 != puVar19" identifier != identifier) )) ;) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) })) (if_statement "if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" if (parenthesized_expression "((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18)" ( (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18" (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1)" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-*(int *)(param_1 + 0x48) - (int)puVar1)" ( (binary_expression "-*(int *)(param_1 + 0x48) - (int)puVar1" (unary_expression "-*(int *)(param_1 + 0x48)" - (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" { comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15)" identifier (argument_list "("../../gold/mips.cc",0x1e33,"do_write",uVar15)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" if (parenthesized_expression "((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44))" ( (binary_expression "(int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)" (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) == (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (compound_statement "{\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    /* WARNING: Subroutine does not return */\n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" { (if_statement "if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" if (parenthesized_expression "((int)puVar9 - (int)puVar1 != uVar4)" ( (binary_expression "(int)puVar9 - (int)puVar1 != uVar4" (binary_expression "(int)puVar9 - (int)puVar1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" { comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" identifier (argument_list "("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (if_statement "if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }" if (parenthesized_expression "((int)local_68 - (int)puVar16 == uVar6)" ( (binary_expression "(int)local_68 - (int)puVar16 == uVar6" (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) == identifier) )) (compound_statement "{\n                      return;\n                    }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" identifier (argument_list "("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18)" identifier (argument_list "("../../gold/mips.cc",0x1e36,"do_write",iVar18)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_00175b30();" (call_expression "FUN_00175b30()" identifier (argument_list "()" ( ))) ;) })) comment (expression_statement "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);" (call_expression "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" identifier (argument_list "("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_plt_header_compressed"" " string_content ") , identifier ))) ;) })) })) comment (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar14)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , 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 ") ))) ;) })) (labeled_statement "LAB_00180601:\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" statement_identifier : comment (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",uVar8)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;)) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_write(Mips_output_data_plt<64,_false> * this, Output_file * of)\n    */\n\nvoid __thiscall\nanon_unknown.dwarf_d7d43e::Mips_output_data_plt<64,_false>::do_write\n          (Mips_output_data_plt<64,_false> *this,Output_file *of)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  uint uVar4;\n  Output_data_space *pOVar5;\n  Target_mips<64,_false> *pTVar6;\n  pointer ppMVar7;\n  Mips_symbol<64> *pMVar8;\n  uint uVar9;\n  uint32_t uVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  char *format;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  uchar *puVar18;\n  undefined1 *puVar19;\n  int iVar20;\n  pointer ppMVar21;\n  Target_mips<64,_false> *in_stack_ffffff84;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  uVar10 = this->plt0_entry_o32[7];\n  if ((uVar10 & 4) != 0) {\n    uVar3 = this->plt0_entry_o32[5];\n    if ((uVar10 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar4 = this->plt0_entry_o32[3];\n    if (this->plt0_entry_o32[4] != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if (-1 < (int)this->plt0_entry_o32[6]) {\n      uVar16 = (uint)of->file_size_;\n      iVar20 = *(int *)((int)&of->file_size_ + 4);\n      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);\n      uVar9 = (uint)(uVar16 < uVar4 + uVar3);\n      iVar17 = iVar20 - iVar15;\n      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n}\n\n" comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_d7d43e::Mips_output_data_plt<64,_false>::do_write\n          (Mips_output_data_plt<64,_false> *this,Output_file *of)\n\n{\n  uint *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_d7d43e::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_write\n          (Mips_output_data_plt<64,_false> *this,Output_file *of)\n\n{\n  uint" identifier > : : (function_declarator "do_write\n          (Mips_output_data_plt<64,_false> *this,Output_file *of)" identifier (parameter_list "(Mips_output_data_plt<64,_false> *this,Output_file *of)" ( (parameter_declaration "Mips_output_data_plt" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "Output_data_space *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (expression_statement "Target_mips<64,_false> *pTVar6;" (update_expression "Target_mips<64,_false> *pTVar6" (binary_expression "Target_mips<64,_false> *pTVar6" (binary_expression "Target_mips<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pTVar6" * identifier)) --) ;) (declaration "pointer ppMVar7;" type_identifier identifier ;) (expression_statement "Mips_symbol<64> *pMVar8;" (update_expression "Mips_symbol<64> *pMVar8" (binary_expression "Mips_symbol<64> *pMVar8" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*pMVar8" * identifier)) --) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint32_t uVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uchar *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "pointer ppMVar21;" type_identifier identifier ;) (expression_statement "Target_mips<64,_false> *in_stack_ffffff84;" (update_expression "Target_mips<64,_false> *in_stack_ffffff84" (binary_expression "Target_mips<64,_false> *in_stack_ffffff84" (binary_expression "Target_mips<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_ffffff84" * identifier)) --) ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined2 local_60;" type_identifier identifier ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "uVar10 = this->plt0_entry_o32[7];" (assignment_expression "uVar10 = this->plt0_entry_o32[7]" identifier = (subscript_expression "this->plt0_entry_o32[7]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if ((uVar10 & 4) != 0) {\n    uVar3 = this->plt0_entry_o32[5];\n    if ((uVar10 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar4 = this->plt0_entry_o32[3];\n    if (this->plt0_entry_o32[4] != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if (-1 < (int)this->plt0_entry_o32[6]) {\n      uVar16 = (uint)of->file_size_;\n      iVar20 = *(int *)((int)&of->file_size_ + 4);\n      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);\n      uVar9 = (uint)(uVar16 < uVar4 + uVar3);\n      iVar17 = iVar20 - iVar15;\n      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" if (parenthesized_expression "((uVar10 & 4) != 0)" ( (binary_expression "(uVar10 & 4) != 0" (parenthesized_expression "(uVar10 & 4)" ( (binary_expression "uVar10 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = this->plt0_entry_o32[5];\n    if ((uVar10 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }\n    uVar4 = this->plt0_entry_o32[3];\n    if (this->plt0_entry_o32[4] != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    if (-1 < (int)this->plt0_entry_o32[6]) {\n      uVar16 = (uint)of->file_size_;\n      iVar20 = *(int *)((int)&of->file_size_ + 4);\n      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);\n      uVar9 = (uint)(uVar16 < uVar4 + uVar3);\n      iVar17 = iVar20 - iVar15;\n      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" { (expression_statement "uVar3 = this->plt0_entry_o32[5];" (assignment_expression "uVar3 = this->plt0_entry_o32[5]" identifier = (subscript_expression "this->plt0_entry_o32[5]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if ((uVar10 & 2) == 0) {\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" if (parenthesized_expression "((uVar10 & 2) == 0)" ( (binary_expression "(uVar10 & 2) == 0" (parenthesized_expression "(uVar10 & 2)" ( (binary_expression "uVar10 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001805e4:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n    }" { (labeled_statement "LAB_001805e4:\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 ") ))) ;))) })) (expression_statement "uVar4 = this->plt0_entry_o32[3];" (assignment_expression "uVar4 = this->plt0_entry_o32[3]" identifier = (subscript_expression "this->plt0_entry_o32[3]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if (this->plt0_entry_o32[4] != 0) {\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(this->plt0_entry_o32[4] != 0)" ( (binary_expression "this->plt0_entry_o32[4] != 0" (subscript_expression "this->plt0_entry_o32[4]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0018061e:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" { (labeled_statement "LAB_0018061e:\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 < (int)this->plt0_entry_o32[6]) {\n      uVar16 = (uint)of->file_size_;\n      iVar20 = *(int *)((int)&of->file_size_ + 4);\n      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);\n      uVar9 = (uint)(uVar16 < uVar4 + uVar3);\n      iVar17 = iVar20 - iVar15;\n      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }\n    }" if (parenthesized_expression "(-1 < (int)this->plt0_entry_o32[6])" ( (binary_expression "-1 < (int)this->plt0_entry_o32[6]" number_literal < (cast_expression "(int)this->plt0_entry_o32[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "this->plt0_entry_o32[6]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ]))) )) (compound_statement "{\n      uVar16 = (uint)of->file_size_;\n      iVar20 = *(int *)((int)&of->file_size_ + 4);\n      iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);\n      uVar9 = (uint)(uVar16 < uVar4 + uVar3);\n      iVar17 = iVar20 - iVar15;\n      if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }\n    }" { (expression_statement "uVar16 = (uint)of->file_size_;" (assignment_expression "uVar16 = (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 "iVar20 = *(int *)((int)&of->file_size_ + 4);" (assignment_expression "iVar20 = *(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 "iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3);" (assignment_expression "iVar15 = this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3)" identifier = (binary_expression "this->plt0_entry_o32[6] + (uint)CARRY4(uVar4,uVar3)" (subscript_expression "this->plt0_entry_o32[6]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar4,uVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar4,uVar3)" identifier (argument_list "(uVar4,uVar3)" ( identifier , identifier )))))) ;) (expression_statement "uVar9 = (uint)(uVar16 < uVar4 + uVar3);" (assignment_expression "uVar9 = (uint)(uVar16 < uVar4 + uVar3)" identifier = (call_expression "(uint)(uVar16 < uVar4 + uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < uVar4 + uVar3)" ( (binary_expression "uVar16 < uVar4 + uVar3" identifier < (binary_expression "uVar4 + uVar3" identifier + identifier)) )))) ;) (expression_statement "iVar17 = iVar20 - iVar15;" (assignment_expression "iVar17 = iVar20 - iVar15" identifier = (binary_expression "iVar20 - iVar15" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0) {\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }" if (parenthesized_expression "((SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0)" ( (binary_expression "(SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)) == (int)(iVar17 - uVar9) < 0" (parenthesized_expression "(SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9))" ( (binary_expression "SBORROW4(iVar20,iVar15) != SBORROW4(iVar17,uVar9)" (call_expression "SBORROW4(iVar20,iVar15)" identifier (argument_list "(iVar20,iVar15)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar17,uVar9)" identifier (argument_list "(iVar17,uVar9)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar17 - uVar9) < 0" (cast_expression "(int)(iVar17 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar17 - uVar9)" ( (binary_expression "iVar17 - uVar9" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        puVar1 = (uint *)(of->base_ + uVar3);\n        pOVar5 = this->got_plt_;\n        bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;\n        if ((bVar2 & 4) == 0) goto LAB_00180601;\n        uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;\n        iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);\n        if ((bVar2 & 2) == 0) goto LAB_001805e4;\n        uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;\n        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;\n        if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n      }" { (expression_statement "puVar1 = (uint *)(of->base_ + uVar3);" (assignment_expression "puVar1 = (uint *)(of->base_ + uVar3)" identifier = (cast_expression "(uint *)(of->base_ + uVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(of->base_ + uVar3)" ( (binary_expression "of->base_ + uVar3" (field_expression "of->base_" identifier -> field_identifier) + identifier) )))) ;) (expression_statement "pOVar5 = this->got_plt_;" (assignment_expression "pOVar5 = this->got_plt_" identifier = (field_expression "this->got_plt_" identifier -> field_identifier)) ;) (expression_statement "bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c;" (assignment_expression "bVar2 = (pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c" identifier = (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data.field_0x1c" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar2 & 4) == 0) goto LAB_00180601;" if (parenthesized_expression "((bVar2 & 4) == 0)" ( (binary_expression "(bVar2 & 4) == 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00180601;" goto statement_identifier ;)) (expression_statement "uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_;" (assignment_expression "uVar3 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" identifier = (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.offset_" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data" (call_expression "(uint)(pOVar5->super_Output_section_data_build)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4);" (assignment_expression "iVar17 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4)" * (cast_expression "(int *)((int)&(pOVar5->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)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data.offset_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                                super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar2 & 2) == 0) goto LAB_001805e4;" if (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001805e4;" goto statement_identifier ;)) (expression_statement "uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_;" (assignment_expression "uVar9 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" identifier = (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data.data_size_" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                      super_Output_data" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data" (call_expression "(uint)(pOVar5->super_Output_section_data_build)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;" if (parenthesized_expression "(*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0)" ( (binary_expression "*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4) != 0" (pointer_expression "*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4)" * (cast_expression "(int *)((int)&(pOVar5->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)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_" & (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data.data_size_" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                           super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0018061e;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)) {\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0))" ( (binary_expression "(-1 < iVar17) &&\n           (iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)" (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) && (parenthesized_expression "(iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0)" ( (comma_expression "iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3), uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0" (assignment_expression "iVar17 = iVar17 + (uint)CARRY4(uVar9,uVar3)" identifier = (binary_expression "iVar17 + (uint)CARRY4(uVar9,uVar3)" identifier + (cast_expression "(uint)CARRY4(uVar9,uVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,uVar3)" identifier (argument_list "(uVar9,uVar3)" ( identifier , identifier )))))) , (comma_expression "uVar16 = (uint)(uVar16 < uVar9 + uVar3),\n           iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0" (assignment_expression "uVar16 = (uint)(uVar16 < uVar9 + uVar3)" identifier = (call_expression "(uint)(uVar16 < uVar9 + uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < uVar9 + uVar3)" ( (binary_expression "uVar16 < uVar9 + uVar3" identifier < (binary_expression "uVar9 + uVar3" identifier + identifier)) )))) , (comma_expression "iVar15 = iVar20 - iVar17,\n           (SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0" (assignment_expression "iVar15 = iVar20 - iVar17" identifier = (binary_expression "iVar20 - iVar17" identifier - identifier)) , (binary_expression "(SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)) == (int)(iVar15 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16))" ( (binary_expression "SBORROW4(iVar20,iVar17) != SBORROW4(iVar15,uVar16)" (call_expression "SBORROW4(iVar20,iVar17)" identifier (argument_list "(iVar20,iVar17)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar15,uVar16)" identifier (argument_list "(iVar15,uVar16)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar15 - uVar16) < 0" (cast_expression "(int)(iVar15 - uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar15 - uVar16)" ( (binary_expression "iVar15 - uVar16" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n          puVar18 = of->base_ + uVar3;\n          if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" { (expression_statement "puVar18 = of->base_ + uVar3;" (assignment_expression "puVar18 = of->base_ + uVar3" identifier = (binary_expression "of->base_ + uVar3" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((uVar10 & 1) != 0) {\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }" if (parenthesized_expression "((uVar10 & 1) != 0)" ( (binary_expression "(uVar10 & 1) != 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar3 = this->plt0_entry_o32[1];\n            uVar10 = this->plt0_entry_o32[2];\n            if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }\n          }" { (expression_statement "uVar3 = this->plt0_entry_o32[1];" (assignment_expression "uVar3 = this->plt0_entry_o32[1]" identifier = (subscript_expression "this->plt0_entry_o32[1]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar10 = this->plt0_entry_o32[2];" (assignment_expression "uVar10 = this->plt0_entry_o32[2]" identifier = (subscript_expression "this->plt0_entry_o32[2]" (field_expression "this->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if ((bVar2 & 1) != 0) {\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;\n              uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);\n              if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }\n              *puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar16 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar16 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = (int *)(puVar18 + 0x10);\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              puVar18[0] = '\0';\n              puVar18[1] = '\0';\n              puVar18[2] = '\0';\n              puVar18[3] = '\0';\n              puVar18[4] = '\0';\n              puVar18[5] = '\0';\n              puVar18[6] = '\0';\n              puVar18[7] = '\0';\n              puVar18[8] = '\0';\n              puVar18[9] = '\0';\n              puVar18[10] = '\0';\n              puVar18[0xb] = '\0';\n              puVar18[0xc] = '\0';\n              puVar18[0xd] = '\0';\n              puVar18[0xe] = '\0';\n              puVar18[0xf] = '\0';\n              uVar14 = this->plt_mips_offset_;\n              if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }\n              pTVar6 = this->target_;\n              if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }\n              ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;\n              uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);\n              ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;\n              puVar12 = (undefined4 *)((int)local_54 + uVar14);\n              if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }\n              if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }\n              if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");\n            }" { (expression_statement "uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_;" (assignment_expression "uVar16 = (uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_" identifier = (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data.address_" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data.\n                             super_Output_data" (field_expression "(uint)(pOVar5->super_Output_section_data_build).super_Output_section_data" (call_expression "(uint)(pOVar5->super_Output_section_data_build)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4);" (assignment_expression "uVar14 = *(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4)" identifier = (pointer_expression "*(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4)" * (cast_expression "(uint *)((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4)" ( (binary_expression "(int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_ + 4" (cast_expression "(int)&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_" & (field_expression "(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data.address_" (field_expression "(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data.super_Output_data" (field_expression "(pOVar5->super_Output_section_data_build).\n                                       super_Output_section_data" (parenthesized_expression "(pOVar5->super_Output_section_data_build)" ( (field_expression "pOVar5->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }" if (parenthesized_expression "(((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff))" ( (binary_expression "((uVar16 & 0x80000000) != 0 || uVar14 != 0) &&\n                 ((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)" (parenthesized_expression "((uVar16 & 0x80000000) != 0 || uVar14 != 0)" ( (binary_expression "(uVar16 & 0x80000000) != 0 || uVar14 != 0" (binary_expression "(uVar16 & 0x80000000) != 0" (parenthesized_expression "(uVar16 & 0x80000000)" ( (binary_expression "uVar16 & 0x80000000" identifier & number_literal) )) != number_literal) || (binary_expression "uVar14 != 0" identifier != number_literal)) )) && (parenthesized_expression "((uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff)" ( (binary_expression "(uVar14 & (uVar16 | 0x7fffffff)) != 0xffffffff" (parenthesized_expression "(uVar14 & (uVar16 | 0x7fffffff))" ( (binary_expression "uVar14 & (uVar16 | 0x7fffffff)" identifier & (parenthesized_expression "(uVar16 | 0x7fffffff)" ( (binary_expression "uVar16 | 0x7fffffff" identifier | number_literal) ))) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1d6e,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1d6e,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (expression_statement "*puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000;" (assignment_expression "*puVar1 = uVar16 + 0x8000 >> 0x10 | 0x3c0e0000" (pointer_expression "*puVar1" * identifier) = (binary_expression "uVar16 + 0x8000 >> 0x10 | 0x3c0e0000" (binary_expression "uVar16 + 0x8000 >> 0x10" (binary_expression "uVar16 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "puVar1[2] = uVar16 & 0xffff | 0x25ce0000;" (assignment_expression "puVar1[2] = uVar16 & 0xffff | 0x25ce0000" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = (binary_expression "uVar16 & 0xffff | 0x25ce0000" (binary_expression "uVar16 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "puVar1[1] = uVar16 & 0xffff | 0xddd90000;" (assignment_expression "puVar1[1] = uVar16 & 0xffff | 0xddd90000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = (binary_expression "uVar16 & 0xffff | 0xddd90000" (binary_expression "uVar16 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "local_54 = puVar1 + 8;" (assignment_expression "local_54 = puVar1 + 8" identifier = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar1[3] = 0x30ec023;" (assignment_expression "puVar1[3] = 0x30ec023" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[4] = 0x3e07825;" (assignment_expression "puVar1[4] = 0x3e07825" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68 = (int *)(puVar18 + 0x10);" (assignment_expression "local_68 = (int *)(puVar18 + 0x10)" identifier = (cast_expression "(int *)(puVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x10)" ( (binary_expression "puVar18 + 0x10" identifier + number_literal) )))) ;) (expression_statement "puVar1[5] = 0x18c0c2;" (assignment_expression "puVar1[5] = 0x18c0c2" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[6] = 0x320f809;" (assignment_expression "puVar1[6] = 0x320f809" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[7] = 0x2718fffe;" (assignment_expression "puVar1[7] = 0x2718fffe" (subscript_expression "puVar1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18[0] = '\0';" (assignment_expression "puVar18[0] = '\0'" (subscript_expression "puVar18[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[1] = '\0';" (assignment_expression "puVar18[1] = '\0'" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[2] = '\0';" (assignment_expression "puVar18[2] = '\0'" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[3] = '\0';" (assignment_expression "puVar18[3] = '\0'" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[4] = '\0';" (assignment_expression "puVar18[4] = '\0'" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[5] = '\0';" (assignment_expression "puVar18[5] = '\0'" (subscript_expression "puVar18[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[6] = '\0';" (assignment_expression "puVar18[6] = '\0'" (subscript_expression "puVar18[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[7] = '\0';" (assignment_expression "puVar18[7] = '\0'" (subscript_expression "puVar18[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[8] = '\0';" (assignment_expression "puVar18[8] = '\0'" (subscript_expression "puVar18[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[9] = '\0';" (assignment_expression "puVar18[9] = '\0'" (subscript_expression "puVar18[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[10] = '\0';" (assignment_expression "puVar18[10] = '\0'" (subscript_expression "puVar18[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[0xb] = '\0';" (assignment_expression "puVar18[0xb] = '\0'" (subscript_expression "puVar18[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[0xc] = '\0';" (assignment_expression "puVar18[0xc] = '\0'" (subscript_expression "puVar18[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[0xd] = '\0';" (assignment_expression "puVar18[0xd] = '\0'" (subscript_expression "puVar18[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[0xe] = '\0';" (assignment_expression "puVar18[0xe] = '\0'" (subscript_expression "puVar18[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18[0xf] = '\0';" (assignment_expression "puVar18[0xf] = '\0'" (subscript_expression "puVar18[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar14 = this->plt_mips_offset_;" (assignment_expression "uVar14 = this->plt_mips_offset_" identifier = (field_expression "this->plt_mips_offset_" identifier -> field_identifier)) ;) (if_statement "if (uVar14 + this->plt_comp_offset_ == 0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }" if (parenthesized_expression "(uVar14 + this->plt_comp_offset_ == 0)" ( (binary_expression "uVar14 + this->plt_comp_offset_ == 0" (binary_expression "uVar14 + this->plt_comp_offset_" identifier + (field_expression "this->plt_comp_offset_" identifier -> field_identifier)) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0xa1f,"is_plt_header_compressed")" identifier (argument_list "("../../gold/mips.cc",0xa1f,"is_plt_header_compressed")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_plt_header_compressed"" " string_content ") ))) ;)) })) (expression_statement "pTVar6 = this->target_;" (assignment_expression "pTVar6 = this->target_" identifier = (field_expression "this->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar6->field_0xc == '\0') {\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }" if (parenthesized_expression "(pTVar6->field_0xc == '\0')" ( (binary_expression "pTVar6->field_0xc == '\0'" (field_expression "pTVar6->field_0xc" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);\n              }" { comment (expression_statement "Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84);" (comma_expression "Target_mips<64,_false>::is_output_micromips(in_stack_ffffff84)" (binary_expression "Target_mips<64" identifier < number_literal) , (binary_expression "_false>::is_output_micromips(in_stack_ffffff84)" identifier > (ERROR "::" : :) (call_expression "is_output_micromips(in_stack_ffffff84)" identifier (argument_list "(in_stack_ffffff84)" ( identifier ))))) ;) })) (expression_statement "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish;" (field_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl._M_finish" (field_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                        ._M_impl" (binary_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_" (binary_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64" (binary_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std" (binary_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)::Mips_symbol<64" (assignment_expression "ppMVar7 = (this->symbols_).\n                        super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->symbols_).\n                        super__Vector_base<(anonymous_namespace)" (field_expression "(this->symbols_).\n                        super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0);" (assignment_expression "uVar11 = *(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0)" identifier = (binary_expression "*(uint *)&pTVar6->field_0x8 >> 0x19 & (uint)(uVar14 == 0)" (binary_expression "*(uint *)&pTVar6->field_0x8 >> 0x19" (pointer_expression "*(uint *)&pTVar6->field_0x8" * (cast_expression "(uint *)&pTVar6->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar6->field_0x8" & (field_expression "pTVar6->field_0x8" identifier -> field_identifier)))) >> number_literal) & (call_expression "(uint)(uVar14 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) ))))) ;) (expression_statement "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start;" (field_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl._M_start" (field_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                         ._M_impl" (binary_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_" (binary_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64" (binary_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std" (binary_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)::Mips_symbol<64" (assignment_expression "ppMVar21 = (this->symbols_).\n                         super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(this->symbols_).\n                         super__Vector_base<(anonymous_namespace)" (field_expression "(this->symbols_).\n                         super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "puVar12 = (undefined4 *)((int)local_54 + uVar14);" (assignment_expression "puVar12 = (undefined4 *)((int)local_54 + uVar14)" identifier = (cast_expression "(undefined4 *)((int)local_54 + uVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + uVar14)" ( (binary_expression "(int)local_54 + uVar14" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (ppMVar21 != ppMVar7) {\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }" if (parenthesized_expression "(ppMVar21 != ppMVar7)" ( (binary_expression "ppMVar21 != ppMVar7" identifier != identifier) )) (compound_statement "{\n                uVar16 = uVar16 + 0x10;\n                puVar13 = puVar12;\n                do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);\n                uVar14 = this->plt_mips_offset_;\n              }" { (expression_statement "uVar16 = uVar16 + 0x10;" (assignment_expression "uVar16 = uVar16 + 0x10" identifier = (binary_expression "uVar16 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) (do_statement "do {\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                } while (ppMVar7 != ppMVar21);" do (compound_statement "{\n                  pMVar8 = *ppMVar21;\n                  local_68[1] = uVar10 + CARRY4(uVar11,uVar3);\n                  *local_68 = uVar11 + uVar3;\n                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }\n                  puVar12 = puVar13;\n                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }\n                  local_68 = local_68 + 2;\n                  ppMVar21 = ppMVar21 + 1;\n                  uVar16 = uVar16 + 8;\n                  puVar13 = puVar12;\n                }" { (expression_statement "pMVar8 = *ppMVar21;" (assignment_expression "pMVar8 = *ppMVar21" identifier = (pointer_expression "*ppMVar21" * identifier)) ;) (expression_statement "local_68[1] = uVar10 + CARRY4(uVar11,uVar3);" (assignment_expression "local_68[1] = uVar10 + CARRY4(uVar11,uVar3)" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (binary_expression "uVar10 + CARRY4(uVar11,uVar3)" identifier + (call_expression "CARRY4(uVar11,uVar3)" identifier (argument_list "(uVar11,uVar3)" ( identifier , identifier ))))) ;) (expression_statement "*local_68 = uVar11 + uVar3;" (assignment_expression "*local_68 = uVar11 + uVar3" (pointer_expression "*local_68" * identifier) = (binary_expression "uVar11 + uVar3" identifier + identifier)) ;) (if_statement "if (pMVar8->mips_plt_offset_ != 0xffffffff) {\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }" if (parenthesized_expression "(pMVar8->mips_plt_offset_ != 0xffffffff)" ( (binary_expression "pMVar8->mips_plt_offset_ != 0xffffffff" (field_expression "pMVar8->mips_plt_offset_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;\n                    if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }\n                    *local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;\n                    local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;\n                    local_54[2] = *(uint *)(puVar19 + 8);\n                    local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);\n                    local_54 = local_54 + 4;\n                  }" { (expression_statement "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry;" (comma_expression "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry" (binary_expression "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64" (assignment_expression "puVar19 = (anonymous_namespace)" identifier = (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_output_data_plt" : : identifier) < number_literal) , (binary_expression "false>::plt_entry" false > (ERROR "::" : :) identifier)) ;) (if_statement "if (((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)\n                    {\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }" if (parenthesized_expression "(((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)" ( (binary_expression "((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0" (parenthesized_expression "((*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000)" ( (binary_expression "(*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000" (binary_expression "(*(uint *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000" (parenthesized_expression "(*(uint *)&pTVar6->field_0x8 & 0xf0000000)" ( (binary_expression "*(uint *)&pTVar6->field_0x8 & 0xf0000000" (pointer_expression "*(uint *)&pTVar6->field_0x8" * (cast_expression "(uint *)&pTVar6->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar6->field_0x8" & (field_expression "pTVar6->field_0x8" identifier -> field_identifier)))) & number_literal) )) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n                      puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;\n                    }" { (expression_statement "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6;" (comma_expression "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64,false>::plt_entry_r6" (binary_expression "puVar19 = (anonymous_namespace)::Mips_output_data_plt<64" (assignment_expression "puVar19 = (anonymous_namespace)" identifier = (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_output_data_plt" : : identifier) < number_literal) , (binary_expression "false>::plt_entry_r6" false > (ERROR "::" : :) identifier)) ;) })) (expression_statement "*local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000;" (assignment_expression "*local_54 = uVar16 + 0x8000 >> 0x10 | 0x3c0f0000" (pointer_expression "*local_54" * identifier) = (binary_expression "uVar16 + 0x8000 >> 0x10 | 0x3c0f0000" (binary_expression "uVar16 + 0x8000 >> 0x10" (binary_expression "uVar16 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000;" (assignment_expression "local_54[1] = *(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(puVar19 + 4) | uVar16 & 0xffff | 0xdc000000" (binary_expression "*(uint *)(puVar19 + 4) | uVar16 & 0xffff" (pointer_expression "*(uint *)(puVar19 + 4)" * (cast_expression "(uint *)(puVar19 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 4)" ( (binary_expression "puVar19 + 4" identifier + number_literal) )))) | (binary_expression "uVar16 & 0xffff" identifier & number_literal)) | number_literal)) ;) (expression_statement "local_54[2] = *(uint *)(puVar19 + 8);" (assignment_expression "local_54[2] = *(uint *)(puVar19 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(puVar19 + 8)" * (cast_expression "(uint *)(puVar19 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 8)" ( (binary_expression "puVar19 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc);" (assignment_expression "local_54[3] = uVar16 & 0xffff | *(uint *)(puVar19 + 0xc)" (subscript_expression "local_54[3]" identifier [ number_literal ]) = (binary_expression "uVar16 & 0xffff | *(uint *)(puVar19 + 0xc)" (binary_expression "uVar16 & 0xffff" identifier & number_literal) | (pointer_expression "*(uint *)(puVar19 + 0xc)" * (cast_expression "(uint *)(puVar19 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xc)" ( (binary_expression "puVar19 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "local_54 = local_54 + 4;" (assignment_expression "local_54 = local_54 + 4" identifier = (binary_expression "local_54 + 4" identifier + number_literal)) ;) })) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (if_statement "if (pMVar8->comp_plt_offset_ != 0xffffffff) {\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }" if (parenthesized_expression "(pMVar8->comp_plt_offset_ != 0xffffffff)" ( (binary_expression "pMVar8->comp_plt_offset_ != 0xffffffff" (field_expression "pMVar8->comp_plt_offset_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }\n                  }" { (if_statement "if ((pTVar6->field_0xb & 2) == 0) {\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }\n                    else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }" if (parenthesized_expression "((pTVar6->field_0xb & 2) == 0)" ( (binary_expression "(pTVar6->field_0xb & 2) == 0" (parenthesized_expression "(pTVar6->field_0xb & 2)" ( (binary_expression "pTVar6->field_0xb & 2" (field_expression "pTVar6->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                      *puVar13 = 0x651bb303;\n                      puVar12 = puVar13 + 4;\n                      puVar13[1] = 0xeb009b60;\n                      puVar13[2] = 0x6500653b;\n                      puVar13[3] = uVar16;\n                    }" { (expression_statement "*puVar13 = 0x651bb303;" (assignment_expression "*puVar13 = 0x651bb303" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar12 = puVar13 + 4;" (assignment_expression "puVar12 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "puVar13[1] = 0xeb009b60;" (assignment_expression "puVar13[1] = 0xeb009b60" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[2] = 0x6500653b;" (assignment_expression "puVar13[2] = 0x6500653b" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[3] = uVar16;" (assignment_expression "puVar13[3] = uVar16" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }" else (if_statement "if (pTVar6->insn32_ == false) {\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }\n                    else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }" if (parenthesized_expression "(pTVar6->insn32_ == false)" ( (binary_expression "pTVar6->insn32_ == false" (field_expression "pTVar6->insn32_" identifier -> field_identifier) == false) )) (compound_statement "{\n                      if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }\n                      iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);\n                      if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }\n                      puVar13[1] = 0xff22;\n                      puVar12 = puVar13 + 3;\n                      *(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);\n                      puVar13[2] = 0xf024599;\n                      *(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);\n                    }" { (if_statement "if ((uVar16 & 3) != 0) {\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }" if (parenthesized_expression "((uVar16 & 3) != 0)" ( (binary_expression "(uVar16 & 3) != 0" (parenthesized_expression "(uVar16 & 3)" ( (binary_expression "uVar16 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");\n                      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1e17,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e17,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (expression_statement "iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc);" (assignment_expression "iVar20 = uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc)" identifier = (binary_expression "uVar16 - ((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc)" identifier - (parenthesized_expression "((int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc)" ( (binary_expression "(int)puVar13 + (uVar3 - (int)puVar1) & 0xfffffffc" (binary_expression "(int)puVar13 + (uVar3 - (int)puVar1)" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar3 - (int)puVar1)" ( (binary_expression "uVar3 - (int)puVar1" identifier - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (if_statement "if (0xffffff < iVar20) {\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }" if (parenthesized_expression "(0xffffff < iVar20)" ( (binary_expression "0xffffff < iVar20" number_literal < identifier) )) (compound_statement "{\n                        format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );\n                        gold::gold_error(format,iVar20);\n                        return;\n                      }" { (expression_statement "format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                );" (assignment_expression "format = (char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                )" identifier = (cast_expression "(char *)gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                )" identifier (argument_list "(\n                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                                )" ( (string_literal "".got.plt offset of %ld from .plt beyond the range of ADDIUPC"" " string_content ") ))))) ;) (labeled_statement "gold::gold_error(format,iVar20);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(format,iVar20);" (call_expression "gold_error(format,iVar20)" identifier (argument_list "(format,iVar20)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (expression_statement "puVar13[1] = 0xff22;" (assignment_expression "puVar13[1] = 0xff22" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12 = puVar13 + 3;" (assignment_expression "puVar12 = puVar13 + 3" identifier = (binary_expression "puVar13 + 3" identifier + number_literal)) ;) (expression_statement "*(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2);" (assignment_expression "*(short *)((int)puVar13 + 2) = (short)(iVar20 >> 2)" (pointer_expression "*(short *)((int)puVar13 + 2)" * (cast_expression "(short *)((int)puVar13 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 2)" ( (binary_expression "(int)puVar13 + 2" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)(iVar20 >> 2)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(iVar20 >> 2)" ( (binary_expression "iVar20 >> 2" identifier >> number_literal) )))) ;) (expression_statement "puVar13[2] = 0xf024599;" (assignment_expression "puVar13[2] = 0xf024599" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f);" (assignment_expression "*(ushort *)puVar13 = CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f)" (pointer_expression "*(ushort *)puVar13" * (cast_expression "(ushort *)puVar13" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (call_expression "CONCAT11(0x79,(byte)(iVar20 >> 0x12) & 0x7f)" identifier (argument_list "(0x79,(byte)(iVar20 >> 0x12) & 0x7f)" ( number_literal , (binary_expression "(byte)(iVar20 >> 0x12) & 0x7f" (call_expression "(byte)(iVar20 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(iVar20 >> 0x12)" ( (binary_expression "iVar20 >> 0x12" identifier >> number_literal) ))) & number_literal) )))) ;) }) (else_clause "else {\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }" else (compound_statement "{\n                      local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);\n                      *(short *)((int)puVar13 + 6) = (short)uVar16;\n                      puVar12 = puVar13 + 4;\n                      *(undefined2 *)puVar13 = 0x41af;\n                      *(undefined2 *)((int)puVar13 + 2) = local_60;\n                      *(undefined2 *)(puVar13 + 1) = 0xff2f;\n                      puVar13[2] = 0xf3c0019;\n                      *(undefined2 *)(puVar13 + 3) = 0x330f;\n                      *(short *)((int)puVar13 + 0xe) = (short)uVar16;\n                    }" { (expression_statement "local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10);" (assignment_expression "local_60 = (undefined2)(uVar16 + 0x8000 >> 0x10)" identifier = (call_expression "(undefined2)(uVar16 + 0x8000 >> 0x10)" (parenthesized_expression "(undefined2)" ( identifier )) (argument_list "(uVar16 + 0x8000 >> 0x10)" ( (binary_expression "uVar16 + 0x8000 >> 0x10" (binary_expression "uVar16 + 0x8000" identifier + number_literal) >> number_literal) )))) ;) (expression_statement "*(short *)((int)puVar13 + 6) = (short)uVar16;" (assignment_expression "*(short *)((int)puVar13 + 6) = (short)uVar16" (pointer_expression "*(short *)((int)puVar13 + 6)" * (cast_expression "(short *)((int)puVar13 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 6)" ( (binary_expression "(int)puVar13 + 6" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar16" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "puVar12 = puVar13 + 4;" (assignment_expression "puVar12 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)puVar13 = 0x41af;" (assignment_expression "*(undefined2 *)puVar13 = 0x41af" (pointer_expression "*(undefined2 *)puVar13" * (cast_expression "(undefined2 *)puVar13" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined2 *)((int)puVar13 + 2) = local_60;" (assignment_expression "*(undefined2 *)((int)puVar13 + 2) = local_60" (pointer_expression "*(undefined2 *)((int)puVar13 + 2)" * (cast_expression "(undefined2 *)((int)puVar13 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 2)" ( (binary_expression "(int)puVar13 + 2" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(puVar13 + 1) = 0xff2f;" (assignment_expression "*(undefined2 *)(puVar13 + 1) = 0xff2f" (pointer_expression "*(undefined2 *)(puVar13 + 1)" * (cast_expression "(undefined2 *)(puVar13 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 1)" ( (binary_expression "puVar13 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar13[2] = 0xf3c0019;" (assignment_expression "puVar13[2] = 0xf3c0019" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar13 + 3) = 0x330f;" (assignment_expression "*(undefined2 *)(puVar13 + 3) = 0x330f" (pointer_expression "*(undefined2 *)(puVar13 + 3)" * (cast_expression "(undefined2 *)(puVar13 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 3)" ( (binary_expression "puVar13 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(short *)((int)puVar13 + 0xe) = (short)uVar16;" (assignment_expression "*(short *)((int)puVar13 + 0xe) = (short)uVar16" (pointer_expression "*(short *)((int)puVar13 + 0xe)" * (cast_expression "(short *)((int)puVar13 + 0xe)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar13 + 0xe)" ( (binary_expression "(int)puVar13 + 0xe" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar16" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) }))))) })) (expression_statement "local_68 = local_68 + 2;" (assignment_expression "local_68 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) (expression_statement "ppMVar21 = ppMVar21 + 1;" (assignment_expression "ppMVar21 = ppMVar21 + 1" identifier = (binary_expression "ppMVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = uVar16 + 8;" (assignment_expression "uVar16 = uVar16 + 8" identifier = (binary_expression "uVar16 + 8" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar12;" (assignment_expression "puVar13 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "(ppMVar7 != ppMVar21)" ( (binary_expression "ppMVar7 != ppMVar21" identifier != identifier) )) ;) (expression_statement "uVar14 = this->plt_mips_offset_;" (assignment_expression "uVar14 = this->plt_mips_offset_" identifier = (field_expression "this->plt_mips_offset_" identifier -> field_identifier)) ;) })) (if_statement "if ((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }" if (parenthesized_expression "((int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14)" ( (binary_expression "(int)local_54 + (-this->plt_header_size_ - (int)puVar1) != uVar14" (binary_expression "(int)local_54 + (-this->plt_header_size_ - (int)puVar1)" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-this->plt_header_size_ - (int)puVar1)" ( (binary_expression "-this->plt_header_size_ - (int)puVar1" (unary_expression "-this->plt_header_size_" - (field_expression "this->plt_header_size_" identifier -> field_identifier)) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1e33,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e33,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if ((int)puVar12 - (int)local_54 == this->plt_comp_offset_) {\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }" if (parenthesized_expression "((int)puVar12 - (int)local_54 == this->plt_comp_offset_)" ( (binary_expression "(int)puVar12 - (int)local_54 == this->plt_comp_offset_" (binary_expression "(int)puVar12 - (int)local_54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) == (field_expression "this->plt_comp_offset_" identifier -> field_identifier)) )) (compound_statement "{\n                if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }\n                if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");\n              }" { (if_statement "if ((int)puVar12 - (int)puVar1 != uVar4) {\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }" if (parenthesized_expression "((int)puVar12 - (int)puVar1 != uVar4)" ( (binary_expression "(int)puVar12 - (int)puVar1 != uVar4" (binary_expression "(int)puVar12 - (int)puVar1" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");\n                }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1e38,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e38,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) (if_statement "if ((int)local_68 - (int)puVar18 == uVar9) {\n                  return;\n                }" if (parenthesized_expression "((int)local_68 - (int)puVar18 == uVar9)" ( (binary_expression "(int)local_68 - (int)puVar18 == uVar9" (binary_expression "(int)local_68 - (int)puVar18" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier)) == identifier) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1e3b,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e3b,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x1e36,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e36,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;)) })) })) 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 ") ))) ;)) })) })) })) 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 ") ))) ;)) })) (labeled_statement "LAB_00180601:\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 ") ))) ;))) (ERROR "}" }))
(translation_unit "void FUN_001800f0(uint param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}\n\n" (function_definition "void FUN_001800f0(uint param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" primitive_type (function_declarator "FUN_001800f0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined2 local_60;" type_identifier identifier ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "bVar2 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\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 "{\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }" { (expression_statement "uVar15 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = param_1;" (assignment_expression "uVar8 = param_1" identifier = identifier) ;) (if_statement "if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\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 "{\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }" { (labeled_statement "LAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" statement_identifier : (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8)" identifier (argument_list "("../../gold/output.h",0xcf,"data_size",uVar8)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar4 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = uVar4;" (assignment_expression "uVar8 = uVar4" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" ( (binary_expression "*(int *)(param_1 + 0x10) != 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" { (labeled_statement "LAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" statement_identifier : (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar8)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;)) })) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(param_1 + 0x18))" ( (binary_expression "-1 < *(int *)(param_1 + 0x18)" number_literal < (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" { (expression_statement "iVar5 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar5 = *(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 "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" identifier = (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar4,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar4,uVar15)" identifier (argument_list "(uVar4,uVar15)" ( identifier , identifier )))))) ;) (expression_statement "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);" (assignment_expression "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar15)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar15" (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 "uVar4 + uVar15" identifier + identifier)) )))) ;) (expression_statement "iVar18 = iVar5 - iVar12;" (assignment_expression "iVar18 = iVar5 - iVar12" identifier = (binary_expression "iVar5 - iVar12" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" if (parenthesized_expression "((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0)" ( (binary_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0" (parenthesized_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8))" ( (binary_expression "SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)" (call_expression "SBORROW4(iVar5,iVar12)" identifier (argument_list "(iVar5,iVar12)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar18,uVar8)" identifier (argument_list "(iVar18,uVar8)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar18 - uVar8) < 0" (cast_expression "(int)(iVar18 - uVar8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar18 - uVar8)" ( (binary_expression "iVar18 - uVar8" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" { (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15)" identifier = (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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) )))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" identifier = (pointer_expression "*(uint *)(param_1 + 0x30)" * (cast_expression "(uint *)(param_1 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "bVar3 = *(byte *)(uVar8 + 0x1c);" (assignment_expression "bVar3 = *(byte *)(uVar8 + 0x1c)" identifier = (pointer_expression "*(byte *)(uVar8 + 0x1c)" * (cast_expression "(byte *)(uVar8 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x1c)" ( (binary_expression "uVar8 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 4) == 0) goto LAB_00180601;" 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_00180601;" goto statement_identifier ;)) (expression_statement "uVar15 = *(uint *)(uVar8 + 0x14);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 0x14)" identifier = (pointer_expression "*(uint *)(uVar8 + 0x14)" * (cast_expression "(uint *)(uVar8 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x14)" ( (binary_expression "uVar8 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(uVar8 + 0x18);" (assignment_expression "iVar18 = *(int *)(uVar8 + 0x18)" identifier = (pointer_expression "*(int *)(uVar8 + 0x18)" * (cast_expression "(int *)(uVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x18)" ( (binary_expression "uVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 2) == 0) goto LAB_001805e4;" 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_001805e4;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(uVar8 + 0xc);" (assignment_expression "uVar6 = *(uint *)(uVar8 + 0xc)" identifier = (pointer_expression "*(uint *)(uVar8 + 0xc)" * (cast_expression "(uint *)(uVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0xc)" ( (binary_expression "uVar8 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;" if (parenthesized_expression "(*(int *)(uVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(uVar8 + 0x10) != 0" (pointer_expression "*(int *)(uVar8 + 0x10)" * (cast_expression "(int *)(uVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 0x10)" ( (binary_expression "uVar8 + 0x10" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0018061e;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" if (parenthesized_expression "((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0))" ( (binary_expression "(-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" (parenthesized_expression "(-1 < iVar18)" ( (binary_expression "-1 < iVar18" number_literal < identifier) )) && (parenthesized_expression "(uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" ( (comma_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15)" identifier = (binary_expression "iVar18 + (uint)CARRY4(uVar6,uVar15)" identifier + (cast_expression "(uint)CARRY4(uVar6,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar6,uVar15)" identifier (argument_list "(uVar6,uVar15)" ( identifier , identifier )))))) , (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar6 + uVar15)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar6 + uVar15" (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 "uVar6 + uVar15" identifier + identifier)) )))) , (binary_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (parenthesized_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13))" ( (binary_expression "SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)" (call_expression "SBORROW4(iVar5,uVar14)" identifier (argument_list "(iVar5,uVar14)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar5 - uVar14,uVar13)" identifier (argument_list "(iVar5 - uVar14,uVar13)" ( (binary_expression "iVar5 - uVar14" identifier - identifier) , identifier )))) )) == (binary_expression "(int)((iVar5 - uVar14) - uVar13) < 0" (cast_expression "(int)((iVar5 - uVar14) - uVar13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iVar5 - uVar14) - uVar13)" ( (binary_expression "(iVar5 - uVar14) - uVar13" (parenthesized_expression "(iVar5 - uVar14)" ( (binary_expression "iVar5 - uVar14" identifier - identifier) )) - identifier) ))) < number_literal)))) ))) )) (compound_statement "{\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" { (expression_statement "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" ( (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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 ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" { (expression_statement "uVar14 = *(uint *)(param_1 + 4);" (assignment_expression "uVar14 = *(uint *)(param_1 + 4)" identifier = (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(param_1 + 8);" (assignment_expression "iVar5 = *(int *)(param_1 + 8)" identifier = (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" if (parenthesized_expression "((bVar3 & 1) != 0)" ( (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" { (expression_statement "uVar15 = *(uint *)(uVar8 + 4);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 4)" identifier = (pointer_expression "*(uint *)(uVar8 + 4)" * (cast_expression "(uint *)(uVar8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 4)" ( (binary_expression "uVar8 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" if (parenthesized_expression "(((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff))" ( (binary_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" (parenthesized_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0)" ( (binary_expression "(uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0" (binary_expression "(uVar15 & 0x80000000) != 0" (parenthesized_expression "(uVar15 & 0x80000000)" ( (binary_expression "uVar15 & 0x80000000" identifier & number_literal) )) != number_literal) || (binary_expression "*(uint *)(uVar8 + 8) != 0" (pointer_expression "*(uint *)(uVar8 + 8)" * (cast_expression "(uint *)(uVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) )))) != number_literal)) )) && (parenthesized_expression "((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" ( (binary_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff" (parenthesized_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff))" ( (binary_expression "*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)" (pointer_expression "*(uint *)(uVar8 + 8)" * (cast_expression "(uint *)(uVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) )))) & (parenthesized_expression "(uVar15 | 0x7fffffff)" ( (binary_expression "uVar15 | 0x7fffffff" identifier | number_literal) ))) )) != number_literal) ))) )) (compound_statement "{\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" { (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" identifier (argument_list "("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (expression_statement "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;" (assignment_expression "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (pointer_expression "*puVar1" * identifier) = (binary_expression "uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (binary_expression "uVar15 + 0x8000 >> 0x10" (binary_expression "uVar15 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "puVar1[2] = uVar15 & 0xffff | 0x25ce0000;" (assignment_expression "puVar1[2] = uVar15 & 0xffff | 0x25ce0000" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = (binary_expression "uVar15 & 0xffff | 0x25ce0000" (binary_expression "uVar15 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "puVar1[1] = uVar15 & 0xffff | 0xddd90000;" (assignment_expression "puVar1[1] = uVar15 & 0xffff | 0xddd90000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = (binary_expression "uVar15 & 0xffff | 0xddd90000" (binary_expression "uVar15 & 0xffff" identifier & number_literal) | number_literal)) ;) (expression_statement "local_54 = puVar1 + 8;" (assignment_expression "local_54 = puVar1 + 8" identifier = (binary_expression "puVar1 + 8" identifier + number_literal)) ;) (expression_statement "puVar1[3] = 0x30ec023;" (assignment_expression "puVar1[3] = 0x30ec023" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[4] = 0x3e07825;" (assignment_expression "puVar1[4] = 0x3e07825" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68 = puVar16 + 4;" (assignment_expression "local_68 = puVar16 + 4" identifier = (binary_expression "puVar16 + 4" identifier + number_literal)) ;) (expression_statement "puVar1[5] = 0x18c0c2;" (assignment_expression "puVar1[5] = 0x18c0c2" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[6] = 0x320f809;" (assignment_expression "puVar1[6] = 0x320f809" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[7] = 0x2718fffe;" (assignment_expression "puVar1[7] = 0x2718fffe" (subscript_expression "puVar1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar16 = 0;" (assignment_expression "*puVar16 = 0" (pointer_expression "*puVar16" * identifier) = number_literal) ;) (expression_statement "puVar16[1] = 0;" (assignment_expression "puVar16[1] = 0" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar16[2] = 0;" (assignment_expression "puVar16[2] = 0" (subscript_expression "puVar16[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar16[3] = 0;" (assignment_expression "puVar16[3] = 0" (subscript_expression "puVar16[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" if (parenthesized_expression "(iVar18 + *(int *)(param_1 + 0x44) != 0)" ( (binary_expression "iVar18 + *(int *)(param_1 + 0x44) != 0" (binary_expression "iVar18 + *(int *)(param_1 + 0x44)" identifier + (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" { (expression_statement "iVar12 = *(int *)(param_1 + 0x4c);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x4c)" identifier = (pointer_expression "*(int *)(param_1 + 0x4c)" * (cast_expression "(int *)(param_1 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" if (parenthesized_expression "(*(char *)(iVar12 + 0xc) != '\0')" ( (binary_expression "*(char *)(iVar12 + 0xc) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xc)" * (cast_expression "(char *)(iVar12 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" { (expression_statement "puVar7 = *(uint **)(param_1 + 0x38);" (assignment_expression "puVar7 = *(uint **)(param_1 + 0x38)" identifier = (pointer_expression "*(uint **)(param_1 + 0x38)" * (cast_expression "(uint **)(param_1 + 0x38)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);" (assignment_expression "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" identifier = (binary_expression "*(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" (binary_expression "*(uint *)(iVar12 + 8) >> 0x19" (pointer_expression "*(uint *)(iVar12 + 8)" * (cast_expression "(uint *)(iVar12 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) >> number_literal) & (call_expression "(uint)(iVar18 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) ))))) ;) (expression_statement "puVar19 = *(uint **)(param_1 + 0x34);" (assignment_expression "puVar19 = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)((int)local_54 + iVar18);" (assignment_expression "puVar9 = (undefined4 *)((int)local_54 + iVar18)" identifier = (cast_expression "(undefined4 *)((int)local_54 + iVar18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + iVar18)" ( (binary_expression "(int)local_54 + iVar18" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" if (parenthesized_expression "(puVar19 != puVar7)" ( (binary_expression "puVar19 != puVar7" identifier != identifier) )) (compound_statement "{\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" { (expression_statement "uVar13 = uVar15 + 0x10;" (assignment_expression "uVar13 = uVar15 + 0x10" identifier = (binary_expression "uVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (do_statement "do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);" do (compound_statement "{\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    }" { (expression_statement "uVar15 = *puVar19;" (assignment_expression "uVar15 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);" (assignment_expression "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14)" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (binary_expression "iVar5 + (uint)CARRY4(uVar8,uVar14)" identifier + (cast_expression "(uint)CARRY4(uVar8,uVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier )))))) ;) (expression_statement "*local_68 = uVar8 + uVar14;" (assignment_expression "*local_68 = uVar8 + uVar14" (pointer_expression "*local_68" * identifier) = (binary_expression "uVar8 + uVar14" identifier + identifier)) ;) (if_statement "if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" if (parenthesized_expression "(*(int *)(uVar15 + 0x60) != -1)" ( (binary_expression "*(int *)(uVar15 + 0x60) != -1" (pointer_expression "*(int *)(uVar15 + 0x60)" * (cast_expression "(int *)(uVar15 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + 0x60)" ( (binary_expression "uVar15 + 0x60" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" { (expression_statement "puVar17 = &DAT_0047aee0;" (assignment_expression "puVar17 = &DAT_0047aee0" identifier = (pointer_expression "&DAT_0047aee0" & identifier)) ;) (if_statement "if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }" if (parenthesized_expression "(((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)" ( (binary_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0" (parenthesized_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000)" ( (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000" (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000" (parenthesized_expression "(*(uint *)(iVar12 + 8) & 0xf0000000)" ( (binary_expression "*(uint *)(iVar12 + 8) & 0xf0000000" (pointer_expression "*(uint *)(iVar12 + 8)" * (cast_expression "(uint *)(iVar12 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) & number_literal) )) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n                          puVar17 = &DAT_0047aed0;\n                        }" { (expression_statement "puVar17 = &DAT_0047aed0;" (assignment_expression "puVar17 = &DAT_0047aed0" identifier = (pointer_expression "&DAT_0047aed0" & identifier)) ;) })) (expression_statement "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;" (assignment_expression "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (pointer_expression "*local_54" * identifier) = (binary_expression "uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" identifier + number_literal) >> number_literal) | number_literal)) ;) (expression_statement "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;" (assignment_expression "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff" (pointer_expression "*(uint *)(puVar17 + 4)" * (cast_expression "(uint *)(puVar17 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 4)" ( (binary_expression "puVar17 + 4" identifier + number_literal) )))) | (binary_expression "uVar13 & 0xffff" identifier & number_literal)) | number_literal)) ;) (expression_statement "local_54[2] = *(uint *)(puVar17 + 8);" (assignment_expression "local_54[2] = *(uint *)(puVar17 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(puVar17 + 8)" * (cast_expression "(uint *)(puVar17 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);" (assignment_expression "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (subscript_expression "local_54[3]" identifier [ number_literal ]) = (binary_expression "uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (binary_expression "uVar13 & 0xffff" identifier & number_literal) | (pointer_expression "*(uint *)(puVar17 + 0xc)" * (cast_expression "(uint *)(puVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0xc)" ( (binary_expression "puVar17 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "local_54 = local_54 + 4;" (assignment_expression "local_54 = local_54 + 4" identifier = (binary_expression "local_54 + 4" identifier + number_literal)) ;) })) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" if (parenthesized_expression "(*(int *)(uVar15 + 100) != -1)" ( (binary_expression "*(int *)(uVar15 + 100) != -1" (pointer_expression "*(int *)(uVar15 + 100)" * (cast_expression "(int *)(uVar15 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + 100)" ( (binary_expression "uVar15 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" { (if_statement "if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" if (parenthesized_expression "((*(byte *)(iVar12 + 0xb) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0xb) & 2)" ( (binary_expression "*(byte *)(iVar12 + 0xb) & 2" (pointer_expression "*(byte *)(iVar12 + 0xb)" * (cast_expression "(byte *)(iVar12 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xb)" ( (binary_expression "iVar12 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }" { (expression_statement "*puVar10 = 0x651bb303;" (assignment_expression "*puVar10 = 0x651bb303" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "puVar10[1] = 0xeb009b60;" (assignment_expression "puVar10[1] = 0xeb009b60" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0x6500653b;" (assignment_expression "puVar10[2] = 0x6500653b" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[3] = uVar13;" (assignment_expression "puVar10[3] = uVar13" (subscript_expression "puVar10[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" else (if_statement "if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" if (parenthesized_expression "(*(char *)(iVar12 + 0x82) == '\0')" ( (binary_expression "*(char *)(iVar12 + 0x82) == '\0'" (pointer_expression "*(char *)(iVar12 + 0x82)" * (cast_expression "(char *)(iVar12 + 0x82)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x82)" ( (binary_expression "iVar12 + 0x82" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }" { (if_statement "if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" if (parenthesized_expression "((uVar13 & 3) != 0)" ( (binary_expression "(uVar13 & 3) != 0" (parenthesized_expression "(uVar13 & 3)" ( (binary_expression "uVar13 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" { (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write")" identifier (argument_list "("../../gold/mips.cc",0x1e17,"do_write")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ;) })) (expression_statement "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);" (assignment_expression "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" identifier = (binary_expression "uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" identifier - (parenthesized_expression "((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" ( (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc" (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1)" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar14 - (int)puVar1)" ( (binary_expression "uVar14 - (int)puVar1" identifier - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) & number_literal) )))) ;) (if_statement "if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" if (parenthesized_expression "(0xffffff < iVar18)" ( (binary_expression "0xffffff < iVar18" number_literal < identifier) )) (compound_statement "{\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" { (expression_statement "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );" (assignment_expression "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" identifier = (call_expression "gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" identifier (argument_list "(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" ( (string_literal "".got.plt offset of %ld from .plt beyond the range of ADDIUPC"" " string_content ") )))) ;) (expression_statement "FUN_0023b810(uVar11,iVar18);" (call_expression "FUN_0023b810(uVar11,iVar18)" identifier (argument_list "(uVar11,iVar18)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "puVar10[1] = 0xff22;" (assignment_expression "puVar10[1] = 0xff22" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9 = puVar10 + 3;" (assignment_expression "puVar9 = puVar10 + 3" identifier = (binary_expression "puVar10 + 3" identifier + number_literal)) ;) (expression_statement "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);" (assignment_expression "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2)" (pointer_expression "*(short *)((int)puVar10 + 2)" * (cast_expression "(short *)((int)puVar10 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 2)" ( (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)(iVar18 >> 2)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(iVar18 >> 2)" ( (binary_expression "iVar18 >> 2" identifier >> number_literal) )))) ;) (expression_statement "puVar10[2] = 0xf024599;" (assignment_expression "puVar10[2] = 0xf024599" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);" (assignment_expression "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" (pointer_expression "*(ushort *)puVar10" * (cast_expression "(ushort *)puVar10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (call_expression "CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" identifier (argument_list "(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" ( number_literal , (binary_expression "(byte)(iVar18 >> 0x12) & 0x7f" (call_expression "(byte)(iVar18 >> 0x12)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(iVar18 >> 0x12)" ( (binary_expression "iVar18 >> 0x12" identifier >> number_literal) ))) & number_literal) )))) ;) }) (else_clause "else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" else (compound_statement "{\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" { (expression_statement "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);" (assignment_expression "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10)" identifier = (call_expression "(undefined2)(uVar13 + 0x8000 >> 0x10)" (parenthesized_expression "(undefined2)" ( identifier )) (argument_list "(uVar13 + 0x8000 >> 0x10)" ( (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" identifier + number_literal) >> number_literal) )))) ;) (expression_statement "*(short *)((int)puVar10 + 6) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 6) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 6)" * (cast_expression "(short *)((int)puVar10 + 6)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 6)" ( (binary_expression "(int)puVar10 + 6" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "uVar15 = 0xffffff2f;" (assignment_expression "uVar15 = 0xffffff2f" identifier = number_literal) ;) (expression_statement "*(undefined2 *)puVar10 = 0x41af;" (assignment_expression "*(undefined2 *)puVar10 = 0x41af" (pointer_expression "*(undefined2 *)puVar10" * (cast_expression "(undefined2 *)puVar10" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined2 *)((int)puVar10 + 2) = local_60;" (assignment_expression "*(undefined2 *)((int)puVar10 + 2) = local_60" (pointer_expression "*(undefined2 *)((int)puVar10 + 2)" * (cast_expression "(undefined2 *)((int)puVar10 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 2)" ( (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(puVar10 + 1) = 0xff2f;" (assignment_expression "*(undefined2 *)(puVar10 + 1) = 0xff2f" (pointer_expression "*(undefined2 *)(puVar10 + 1)" * (cast_expression "(undefined2 *)(puVar10 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar10[2] = 0xf3c0019;" (assignment_expression "puVar10[2] = 0xf3c0019" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar10 + 3) = 0x330f;" (assignment_expression "*(undefined2 *)(puVar10 + 3) = 0x330f" (pointer_expression "*(undefined2 *)(puVar10 + 3)" * (cast_expression "(undefined2 *)(puVar10 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(short *)((int)puVar10 + 0xe) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 0xe) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 0xe)" * (cast_expression "(short *)((int)puVar10 + 0xe)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 0xe)" ( (binary_expression "(int)puVar10 + 0xe" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) }))))) })) (expression_statement "local_68 = local_68 + 2;" (assignment_expression "local_68 = local_68 + 2" identifier = (binary_expression "local_68 + 2" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" identifier = (binary_expression "puVar19 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" identifier = (binary_expression "uVar13 + 8" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) }) while (parenthesized_expression "(puVar7 != puVar19)" ( (binary_expression "puVar7 != puVar19" identifier != identifier) )) ;) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" identifier = (pointer_expression "*(int *)(param_1 + 0x40)" * (cast_expression "(int *)(param_1 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) })) (if_statement "if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" if (parenthesized_expression "((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18)" ( (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18" (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1)" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-*(int *)(param_1 + 0x48) - (int)puVar1)" ( (binary_expression "-*(int *)(param_1 + 0x48) - (int)puVar1" (unary_expression "-*(int *)(param_1 + 0x48)" - (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) (compound_statement "{\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" { (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15)" identifier (argument_list "("../../gold/mips.cc",0x1e33,"do_write",uVar15)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (if_statement "if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" if (parenthesized_expression "((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44))" ( (binary_expression "(int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)" (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) == (pointer_expression "*(int *)(param_1 + 0x44)" * (cast_expression "(int *)(param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (compound_statement "{\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" { (if_statement "if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" if (parenthesized_expression "((int)puVar9 - (int)puVar1 != uVar4)" ( (binary_expression "(int)puVar9 - (int)puVar1 != uVar4" (binary_expression "(int)puVar9 - (int)puVar1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) (compound_statement "{\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" { (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" identifier (argument_list "("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (if_statement "if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }" if (parenthesized_expression "((int)local_68 - (int)puVar16 == uVar6)" ( (binary_expression "(int)local_68 - (int)puVar16 == uVar6" (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) == identifier) )) (compound_statement "{\n                      return;\n                    }" { (return_statement "return;" return ;) })) (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" identifier (argument_list "("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18)" identifier (argument_list "("../../gold/mips.cc",0x1e36,"do_write",iVar18)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") , identifier ))) ;) })) (expression_statement "FUN_00175b30();" (call_expression "FUN_00175b30()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);" (call_expression "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" identifier (argument_list "("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_plt_header_compressed"" " string_content ") , identifier ))) ;) })) })) (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14)" identifier (argument_list "("../../gold/output.h",0xc5,"address",uVar14)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") , 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 ") ))) ;) })) (labeled_statement "LAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" statement_identifier : (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",uVar8)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * 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 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = IDENT) ;) (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 ") , IDENT ))) ;)) })) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (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 )))))) ;) (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 = (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) )))) ;) (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) )) (goto_statement goto statement_identifier ;)) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (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)) )))) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , IDENT )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - 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 IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & (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 (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT & LIT) | 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 = (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_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 (subscript_expression IDENT [ LIT ]) = 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 (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) + LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression IDENT & LIT)) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT & LIT) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (call_expression IDENT (argument_list ( LIT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) }))))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) - (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 ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (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)) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == IDENT) )) (compound_statement { (return_statement return ;) })) (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)) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) })) })) (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 ") , IDENT ))) ;)) })))
(function_definition "void FUN_001800f0(uint param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" (primitive_type "void") (function_declarator "FUN_001800f0(uint param_1,int param_2)" (identifier "FUN_001800f0") (parameter_list "(uint param_1,int param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  byte bVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  int iVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  undefined4 *puVar16;\n  undefined *puVar17;\n  int iVar18;\n  uint *puVar19;\n  int *local_68;\n  undefined2 local_60;\n  uint *local_54;\n  \n  bVar2 = *(byte *)(param_1 + 0x1c);\n  uVar8 = (uint)bVar2;\n  if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }\nLAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint *puVar7;" (type_identifier "uint") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined2 local_60;" (type_identifier "undefined2") (identifier "local_60") (; ";")) (declaration "uint *local_54;" (type_identifier "uint") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (expression_statement "bVar2 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar2 = *(byte *)(param_1 + 0x1c)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar8 = (uint)bVar2;" (assignment_expression "uVar8 = (uint)bVar2" (identifier "uVar8") (= "=") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if ((bVar2 & 4) != 0) {\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\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 "{\n    uVar15 = *(uint *)(param_1 + 0x14);\n    uVar8 = param_1;\n    if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }\n    uVar4 = *(uint *)(param_1 + 0xc);\n    uVar8 = uVar4;\n    if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }\n    if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }\n                    \n    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");\n  }" ({ "{") (expression_statement "uVar15 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x14)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar8 = param_1;" (assignment_expression "uVar8 = param_1" (identifier "uVar8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((bVar2 & 2) == 0) {\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\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 "{\nLAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);\n    }" ({ "{") (labeled_statement "LAB_001805e4:\n                    \n      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" (statement_identifier "LAB_001805e4") (: ":") (expression_statement "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xcf,"data_size",uVar8)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar4 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar4 = *(uint *)(param_1 + 0xc)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar8 = uVar4;" (assignment_expression "uVar8 = uVar4" (identifier "uVar8") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x10) != 0) {\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x10) != 0" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);\n    }" ({ "{") (labeled_statement "LAB_0018061e:\n                    \n      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" (statement_identifier "LAB_0018061e") (: ":") (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8)" (identifier "FUN_002446e0") (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar8)" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";"))) (} "}"))) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(-1 < *(int *)(param_1 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(param_1 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0xc);\n      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);\n      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);\n      iVar18 = iVar5 - iVar12;\n      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(param_2 + 0xc);" (assignment_expression "iVar5 = *(int *)(param_2 + 0xc)" (identifier "iVar5") (= "=") (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 "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" (identifier "iVar12") (= "=") (binary_expression "*(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15)" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar4,uVar15)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar4,uVar15)" (identifier "CARRY4") (argument_list "(uVar4,uVar15)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar15") () ")")))))) (; ";")) (expression_statement "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);" (assignment_expression "uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" (identifier "uVar8") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar4 + uVar15)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar4 + uVar15" (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 "uVar4 + uVar15" (identifier "uVar4") (+ "+") (identifier "uVar15"))) () ")")))) (; ";")) (expression_statement "iVar18 = iVar5 - iVar12;" (assignment_expression "iVar18 = iVar5 - iVar12" (identifier "iVar18") (= "=") (binary_expression "iVar5 - iVar12" (identifier "iVar5") (- "-") (identifier "iVar12"))) (; ";")) (if_statement "if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" (if "if") (parenthesized_expression "((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0)" (( "(") (binary_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0" (parenthesized_expression "(SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8))" (( "(") (binary_expression "SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)" (call_expression "SBORROW4(iVar5,iVar12)" (identifier "SBORROW4") (argument_list "(iVar5,iVar12)" (( "(") (identifier "iVar5") (, ",") (identifier "iVar12") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar18,uVar8)" (identifier "SBORROW4") (argument_list "(iVar18,uVar8)" (( "(") (identifier "iVar18") (, ",") (identifier "uVar8") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar18 - uVar8) < 0" (cast_expression "(int)(iVar18 - uVar8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar18 - uVar8)" (( "(") (binary_expression "iVar18 - uVar8" (identifier "iVar18") (- "-") (identifier "uVar8")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);\n        uVar8 = *(uint *)(param_1 + 0x30);\n        bVar3 = *(byte *)(uVar8 + 0x1c);\n        if ((bVar3 & 4) == 0) goto LAB_00180601;\n        uVar15 = *(uint *)(uVar8 + 0x14);\n        iVar18 = *(int *)(uVar8 + 0x18);\n        if ((bVar3 & 2) == 0) goto LAB_001805e4;\n        uVar6 = *(uint *)(uVar8 + 0xc);\n        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;\n        if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }\n      }" ({ "{") (expression_statement "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(*(int *)(param_2 + 0x10) + uVar15)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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 "uVar15")) () ")")))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_1 + 0x30);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x30)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0x30)" (* "*") (cast_expression "(uint *)(param_1 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "bVar3 = *(byte *)(uVar8 + 0x1c);" (assignment_expression "bVar3 = *(byte *)(uVar8 + 0x1c)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(uVar8 + 0x1c)" (* "*") (cast_expression "(byte *)(uVar8 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 0x1c)" (( "(") (binary_expression "uVar8 + 0x1c" (identifier "uVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 4) == 0) goto LAB_00180601;" (if "if") (parenthesized_expression "((bVar3 & 4) == 0)" (( "(") (binary_expression "(bVar3 & 4) == 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00180601;" (goto "goto") (statement_identifier "LAB_00180601") (; ";"))) (expression_statement "uVar15 = *(uint *)(uVar8 + 0x14);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 0x14)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(uVar8 + 0x14)" (* "*") (cast_expression "(uint *)(uVar8 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 0x14)" (( "(") (binary_expression "uVar8 + 0x14" (identifier "uVar8") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar18 = *(int *)(uVar8 + 0x18);" (assignment_expression "iVar18 = *(int *)(uVar8 + 0x18)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(uVar8 + 0x18)" (* "*") (cast_expression "(int *)(uVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 0x18)" (( "(") (binary_expression "uVar8 + 0x18" (identifier "uVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 2) == 0) goto LAB_001805e4;" (if "if") (parenthesized_expression "((bVar3 & 2) == 0)" (( "(") (binary_expression "(bVar3 & 2) == 0" (parenthesized_expression "(bVar3 & 2)" (( "(") (binary_expression "bVar3 & 2" (identifier "bVar3") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001805e4;" (goto "goto") (statement_identifier "LAB_001805e4") (; ";"))) (expression_statement "uVar6 = *(uint *)(uVar8 + 0xc);" (assignment_expression "uVar6 = *(uint *)(uVar8 + 0xc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(uVar8 + 0xc)" (* "*") (cast_expression "(uint *)(uVar8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 0xc)" (( "(") (binary_expression "uVar8 + 0xc" (identifier "uVar8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;" (if "if") (parenthesized_expression "(*(int *)(uVar8 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(uVar8 + 0x10) != 0" (pointer_expression "*(int *)(uVar8 + 0x10)" (* "*") (cast_expression "(int *)(uVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 0x10)" (( "(") (binary_expression "uVar8 + 0x10" (identifier "uVar8") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0018061e;" (goto "goto") (statement_identifier "LAB_0018061e") (; ";"))) (if_statement "if ((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)) {\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" (if "if") (parenthesized_expression "((-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0))" (( "(") (binary_expression "(-1 < iVar18) &&\n           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" (parenthesized_expression "(-1 < iVar18)" (( "(") (binary_expression "-1 < iVar18" (number_literal "-1") (< "<") (identifier "iVar18")) () ")")) (&& "&&") (parenthesized_expression "(uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0)" (( "(") (comma_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),\n           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15)" (identifier "uVar14") (= "=") (binary_expression "iVar18 + (uint)CARRY4(uVar6,uVar15)" (identifier "iVar18") (+ "+") (cast_expression "(uint)CARRY4(uVar6,uVar15)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar6,uVar15)" (identifier "CARRY4") (argument_list "(uVar6,uVar15)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar15") () ")")))))) (, ",") (comma_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),\n           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (assignment_expression "uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" (identifier "uVar13") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar6 + uVar15)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar6 + uVar15" (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 "uVar6 + uVar15" (identifier "uVar6") (+ "+") (identifier "uVar15"))) () ")")))) (, ",") (binary_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==\n           (int)((iVar5 - uVar14) - uVar13) < 0" (parenthesized_expression "(SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13))" (( "(") (binary_expression "SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)" (call_expression "SBORROW4(iVar5,uVar14)" (identifier "SBORROW4") (argument_list "(iVar5,uVar14)" (( "(") (identifier "iVar5") (, ",") (identifier "uVar14") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar5 - uVar14,uVar13)" (identifier "SBORROW4") (argument_list "(iVar5 - uVar14,uVar13)" (( "(") (binary_expression "iVar5 - uVar14" (identifier "iVar5") (- "-") (identifier "uVar14")) (, ",") (identifier "uVar13") () ")")))) () ")")) (== "==") (binary_expression "(int)((iVar5 - uVar14) - uVar13) < 0" (cast_expression "(int)((iVar5 - uVar14) - uVar13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((iVar5 - uVar14) - uVar13)" (( "(") (binary_expression "(iVar5 - uVar14) - uVar13" (parenthesized_expression "(iVar5 - uVar14)" (( "(") (binary_expression "iVar5 - uVar14" (identifier "iVar5") (- "-") (identifier "uVar14")) () ")")) (- "-") (identifier "uVar13")) () ")"))) (< "<") (number_literal "0"))))) () ")"))) () ")")) (compound_statement "{\n          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);\n          if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }\n                    \n          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);\n        }" ({ "{") (expression_statement "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);" (assignment_expression "puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)(*(int *)(param_2 + 0x10) + uVar15)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + uVar15)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + uVar15" (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 "uVar15")) () ")")))) (; ";")) (if_statement "if ((bVar2 & 1) != 0) {\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" (if "if") (parenthesized_expression "((bVar2 & 1) != 0)" (( "(") (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar14 = *(uint *)(param_1 + 4);\n            iVar5 = *(int *)(param_1 + 8);\n            if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }\n          }" ({ "{") (expression_statement "uVar14 = *(uint *)(param_1 + 4);" (assignment_expression "uVar14 = *(uint *)(param_1 + 4)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(param_1 + 8);" (assignment_expression "iVar5 = *(int *)(param_1 + 8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 1) != 0) {\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" (if "if") (parenthesized_expression "((bVar3 & 1) != 0)" (( "(") (binary_expression "(bVar3 & 1) != 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar15 = *(uint *)(uVar8 + 4);\n              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }\n              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;\n              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;\n              puVar1[1] = uVar15 & 0xffff | 0xddd90000;\n              local_54 = puVar1 + 8;\n              puVar1[3] = 0x30ec023;\n              puVar1[4] = 0x3e07825;\n              local_68 = puVar16 + 4;\n              puVar1[5] = 0x18c0c2;\n              puVar1[6] = 0x320f809;\n              puVar1[7] = 0x2718fffe;\n              *puVar16 = 0;\n              puVar16[1] = 0;\n              puVar16[2] = 0;\n              puVar16[3] = 0;\n              iVar18 = *(int *)(param_1 + 0x40);\n              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }\n                    \n              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);\n            }" ({ "{") (expression_statement "uVar15 = *(uint *)(uVar8 + 4);" (assignment_expression "uVar15 = *(uint *)(uVar8 + 4)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(uVar8 + 4)" (* "*") (cast_expression "(uint *)(uVar8 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 4)" (( "(") (binary_expression "uVar8 + 4" (identifier "uVar8") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" (if "if") (parenthesized_expression "(((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff))" (( "(") (binary_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&\n                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" (parenthesized_expression "((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0)" (( "(") (binary_expression "(uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0" (binary_expression "(uVar15 & 0x80000000) != 0" (parenthesized_expression "(uVar15 & 0x80000000)" (( "(") (binary_expression "uVar15 & 0x80000000" (identifier "uVar15") (& "&") (number_literal "0x80000000")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(uint *)(uVar8 + 8) != 0" (pointer_expression "*(uint *)(uVar8 + 8)" (* "*") (cast_expression "(uint *)(uVar8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 8)" (( "(") (binary_expression "uVar8 + 8" (identifier "uVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)" (( "(") (binary_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff" (parenthesized_expression "(*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff))" (( "(") (binary_expression "*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)" (pointer_expression "*(uint *)(uVar8 + 8)" (* "*") (cast_expression "(uint *)(uVar8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 8)" (( "(") (binary_expression "uVar8 + 8" (identifier "uVar8") (+ "+") (number_literal "8")) () ")")))) (& "&") (parenthesized_expression "(uVar15 | 0x7fffffff)" (( "(") (binary_expression "uVar15 | 0x7fffffff" (identifier "uVar15") (| "|") (number_literal "0x7fffffff")) () ")"))) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);\n              }" ({ "{") (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1d6e,"do_write",iVar18)" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1d6e") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;" (assignment_expression "*puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "uVar15 + 0x8000 >> 0x10 | 0x3c0e0000" (binary_expression "uVar15 + 0x8000 >> 0x10" (binary_expression "uVar15 + 0x8000" (identifier "uVar15") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10")) (| "|") (number_literal "0x3c0e0000"))) (; ";")) (expression_statement "puVar1[2] = uVar15 & 0xffff | 0x25ce0000;" (assignment_expression "puVar1[2] = uVar15 & 0xffff | 0x25ce0000" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar15 & 0xffff | 0x25ce0000" (binary_expression "uVar15 & 0xffff" (identifier "uVar15") (& "&") (number_literal "0xffff")) (| "|") (number_literal "0x25ce0000"))) (; ";")) (expression_statement "puVar1[1] = uVar15 & 0xffff | 0xddd90000;" (assignment_expression "puVar1[1] = uVar15 & 0xffff | 0xddd90000" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar15 & 0xffff | 0xddd90000" (binary_expression "uVar15 & 0xffff" (identifier "uVar15") (& "&") (number_literal "0xffff")) (| "|") (number_literal "0xddd90000"))) (; ";")) (expression_statement "local_54 = puVar1 + 8;" (assignment_expression "local_54 = puVar1 + 8" (identifier "local_54") (= "=") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar1[3] = 0x30ec023;" (assignment_expression "puVar1[3] = 0x30ec023" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x30ec023")) (; ";")) (expression_statement "puVar1[4] = 0x3e07825;" (assignment_expression "puVar1[4] = 0x3e07825" (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x3e07825")) (; ";")) (expression_statement "local_68 = puVar16 + 4;" (assignment_expression "local_68 = puVar16 + 4" (identifier "local_68") (= "=") (binary_expression "puVar16 + 4" (identifier "puVar16") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar1[5] = 0x18c0c2;" (assignment_expression "puVar1[5] = 0x18c0c2" (subscript_expression "puVar1[5]" (identifier "puVar1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x18c0c2")) (; ";")) (expression_statement "puVar1[6] = 0x320f809;" (assignment_expression "puVar1[6] = 0x320f809" (subscript_expression "puVar1[6]" (identifier "puVar1") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x320f809")) (; ";")) (expression_statement "puVar1[7] = 0x2718fffe;" (assignment_expression "puVar1[7] = 0x2718fffe" (subscript_expression "puVar1[7]" (identifier "puVar1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x2718fffe")) (; ";")) (expression_statement "*puVar16 = 0;" (assignment_expression "*puVar16 = 0" (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16[1] = 0;" (assignment_expression "puVar16[1] = 0" (subscript_expression "puVar16[1]" (identifier "puVar16") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16[2] = 0;" (assignment_expression "puVar16[2] = 0" (subscript_expression "puVar16[2]" (identifier "puVar16") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16[3] = 0;" (assignment_expression "puVar16[3] = 0" (subscript_expression "puVar16[3]" (identifier "puVar16") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(param_1 + 0x40)" (* "*") (cast_expression "(int *)(param_1 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (iVar18 + *(int *)(param_1 + 0x44) != 0) {\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" (if "if") (parenthesized_expression "(iVar18 + *(int *)(param_1 + 0x44) != 0)" (( "(") (binary_expression "iVar18 + *(int *)(param_1 + 0x44) != 0" (binary_expression "iVar18 + *(int *)(param_1 + 0x44)" (identifier "iVar18") (+ "+") (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar12 = *(int *)(param_1 + 0x4c);\n                if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }\n                FUN_00175b30();\n              }" ({ "{") (expression_statement "iVar12 = *(int *)(param_1 + 0x4c);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x4c)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(param_1 + 0x4c)" (* "*") (cast_expression "(int *)(param_1 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar12 + 0xc) != '\0') {\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" (if "if") (parenthesized_expression "(*(char *)(iVar12 + 0xc) != '\0')" (( "(") (binary_expression "*(char *)(iVar12 + 0xc) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xc)" (* "*") (cast_expression "(char *)(iVar12 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  puVar7 = *(uint **)(param_1 + 0x38);\n                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);\n                  puVar19 = *(uint **)(param_1 + 0x34);\n                  puVar9 = (undefined4 *)((int)local_54 + iVar18);\n                  if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }\n                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }\n                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }\n                    \n                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);\n                }" ({ "{") (expression_statement "puVar7 = *(uint **)(param_1 + 0x38);" (assignment_expression "puVar7 = *(uint **)(param_1 + 0x38)" (identifier "puVar7") (= "=") (pointer_expression "*(uint **)(param_1 + 0x38)" (* "*") (cast_expression "(uint **)(param_1 + 0x38)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);" (assignment_expression "uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" (identifier "uVar8") (= "=") (binary_expression "*(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0)" (binary_expression "*(uint *)(iVar12 + 8) >> 0x19" (pointer_expression "*(uint *)(iVar12 + 8)" (* "*") (cast_expression "(uint *)(iVar12 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (>> ">>") (number_literal "0x19")) (& "&") (call_expression "(uint)(iVar18 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "puVar19 = *(uint **)(param_1 + 0x34);" (assignment_expression "puVar19 = *(uint **)(param_1 + 0x34)" (identifier "puVar19") (= "=") (pointer_expression "*(uint **)(param_1 + 0x34)" (* "*") (cast_expression "(uint **)(param_1 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)local_54 + iVar18);" (assignment_expression "puVar9 = (undefined4 *)((int)local_54 + iVar18)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)local_54 + iVar18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_54 + iVar18)" (( "(") (binary_expression "(int)local_54 + iVar18" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (+ "+") (identifier "iVar18")) () ")")))) (; ";")) (if_statement "if (puVar19 != puVar7) {\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" (if "if") (parenthesized_expression "(puVar19 != puVar7)" (( "(") (binary_expression "puVar19 != puVar7" (identifier "puVar19") (!= "!=") (identifier "puVar7")) () ")")) (compound_statement "{\n                    uVar13 = uVar15 + 0x10;\n                    puVar10 = puVar9;\n                    do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);\n                    iVar18 = *(int *)(param_1 + 0x40);\n                  }" ({ "{") (expression_statement "uVar13 = uVar15 + 0x10;" (assignment_expression "uVar13 = uVar15 + 0x10" (identifier "uVar13") (= "=") (binary_expression "uVar15 + 0x10" (identifier "uVar15") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" (identifier "puVar10") (= "=") (identifier "puVar9")) (; ";")) (do_statement "do {\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    } while (puVar7 != puVar19);" (do "do") (compound_statement "{\n                      uVar15 = *puVar19;\n                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);\n                      *local_68 = uVar8 + uVar14;\n                      if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }\n                      puVar9 = puVar10;\n                      if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }\n                      local_68 = local_68 + 2;\n                      puVar19 = puVar19 + 1;\n                      uVar13 = uVar13 + 8;\n                      puVar10 = puVar9;\n                    }" ({ "{") (expression_statement "uVar15 = *puVar19;" (assignment_expression "uVar15 = *puVar19" (identifier "uVar15") (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);" (assignment_expression "local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14)" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "iVar5 + (uint)CARRY4(uVar8,uVar14)" (identifier "iVar5") (+ "+") (cast_expression "(uint)CARRY4(uVar8,uVar14)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar8,uVar14)" (identifier "CARRY4") (argument_list "(uVar8,uVar14)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar14") () ")")))))) (; ";")) (expression_statement "*local_68 = uVar8 + uVar14;" (assignment_expression "*local_68 = uVar8 + uVar14" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (= "=") (binary_expression "uVar8 + uVar14" (identifier "uVar8") (+ "+") (identifier "uVar14"))) (; ";")) (if_statement "if (*(int *)(uVar15 + 0x60) != -1) {\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" (if "if") (parenthesized_expression "(*(int *)(uVar15 + 0x60) != -1)" (( "(") (binary_expression "*(int *)(uVar15 + 0x60) != -1" (pointer_expression "*(int *)(uVar15 + 0x60)" (* "*") (cast_expression "(int *)(uVar15 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 + 0x60)" (( "(") (binary_expression "uVar15 + 0x60" (identifier "uVar15") (+ "+") (number_literal "0x60")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                        puVar17 = &DAT_0047aee0;\n                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }\n                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;\n                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;\n                        local_54[2] = *(uint *)(puVar17 + 8);\n                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);\n                        local_54 = local_54 + 4;\n                      }" ({ "{") (expression_statement "puVar17 = &DAT_0047aee0;" (assignment_expression "puVar17 = &DAT_0047aee0" (identifier "puVar17") (= "=") (pointer_expression "&DAT_0047aee0" (& "&") (identifier "DAT_0047aee0"))) (; ";")) (if_statement "if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {\n                          puVar17 = &DAT_0047aed0;\n                        }" (if "if") (parenthesized_expression "(((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)" (( "(") (binary_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0" (parenthesized_expression "((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000)" (( "(") (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000" (binary_expression "(*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000" (parenthesized_expression "(*(uint *)(iVar12 + 8) & 0xf0000000)" (( "(") (binary_expression "*(uint *)(iVar12 + 8) & 0xf0000000" (pointer_expression "*(uint *)(iVar12 + 8)" (* "*") (cast_expression "(uint *)(iVar12 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xf0000000")) () ")")) (+ "+") (number_literal "0x70000000")) (& "&") (number_literal "0xe0000000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          puVar17 = &DAT_0047aed0;\n                        }" ({ "{") (expression_statement "puVar17 = &DAT_0047aed0;" (assignment_expression "puVar17 = &DAT_0047aed0" (identifier "puVar17") (= "=") (pointer_expression "&DAT_0047aed0" (& "&") (identifier "DAT_0047aed0"))) (; ";")) (} "}"))) (expression_statement "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;" (assignment_expression "*local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (binary_expression "uVar13 + 0x8000 >> 0x10 | 0x3c0f0000" (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" (identifier "uVar13") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10")) (| "|") (number_literal "0x3c0f0000"))) (; ";")) (expression_statement "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;" (assignment_expression "local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (subscript_expression "local_54[1]" (identifier "local_54") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000" (binary_expression "*(uint *)(puVar17 + 4) | uVar13 & 0xffff" (pointer_expression "*(uint *)(puVar17 + 4)" (* "*") (cast_expression "(uint *)(puVar17 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 4)" (( "(") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "uVar13 & 0xffff" (identifier "uVar13") (& "&") (number_literal "0xffff"))) (| "|") (number_literal "0xdc000000"))) (; ";")) (expression_statement "local_54[2] = *(uint *)(puVar17 + 8);" (assignment_expression "local_54[2] = *(uint *)(puVar17 + 8)" (subscript_expression "local_54[2]" (identifier "local_54") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(uint *)(puVar17 + 8)" (* "*") (cast_expression "(uint *)(puVar17 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 8)" (( "(") (binary_expression "puVar17 + 8" (identifier "puVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);" (assignment_expression "local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (subscript_expression "local_54[3]" (identifier "local_54") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar13 & 0xffff | *(uint *)(puVar17 + 0xc)" (binary_expression "uVar13 & 0xffff" (identifier "uVar13") (& "&") (number_literal "0xffff")) (| "|") (pointer_expression "*(uint *)(puVar17 + 0xc)" (* "*") (cast_expression "(uint *)(puVar17 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0xc)" (( "(") (binary_expression "puVar17 + 0xc" (identifier "puVar17") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "local_54 = local_54 + 4;" (assignment_expression "local_54 = local_54 + 4" (identifier "local_54") (= "=") (binary_expression "local_54 + 4" (identifier "local_54") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" (identifier "puVar9") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (*(int *)(uVar15 + 100) != -1) {\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" (if "if") (parenthesized_expression "(*(int *)(uVar15 + 100) != -1)" (( "(") (binary_expression "*(int *)(uVar15 + 100) != -1" (pointer_expression "*(int *)(uVar15 + 100)" (* "*") (cast_expression "(int *)(uVar15 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 + 100)" (( "(") (binary_expression "uVar15 + 100" (identifier "uVar15") (+ "+") (number_literal "100")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }\n                      }" ({ "{") (if_statement "if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }\n                        else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" (if "if") (parenthesized_expression "((*(byte *)(iVar12 + 0xb) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar12 + 0xb) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 0xb) & 2)" (( "(") (binary_expression "*(byte *)(iVar12 + 0xb) & 2" (pointer_expression "*(byte *)(iVar12 + 0xb)" (* "*") (cast_expression "(byte *)(iVar12 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xb)" (( "(") (binary_expression "iVar12 + 0xb" (identifier "iVar12") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          *puVar10 = 0x651bb303;\n                          puVar9 = puVar10 + 4;\n                          puVar10[1] = 0xeb009b60;\n                          puVar10[2] = 0x6500653b;\n                          puVar10[3] = uVar13;\n                        }" ({ "{") (expression_statement "*puVar10 = 0x651bb303;" (assignment_expression "*puVar10 = 0x651bb303" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0x651bb303")) (; ";")) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" (identifier "puVar9") (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar10[1] = 0xeb009b60;" (assignment_expression "puVar10[1] = 0xeb009b60" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xeb009b60")) (; ";")) (expression_statement "puVar10[2] = 0x6500653b;" (assignment_expression "puVar10[2] = 0x6500653b" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x6500653b")) (; ";")) (expression_statement "puVar10[3] = uVar13;" (assignment_expression "puVar10[3] = uVar13" (subscript_expression "puVar10[3]" (identifier "puVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (} "}")) (else_clause "else if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" (else "else") (if_statement "if (*(char *)(iVar12 + 0x82) == '\0') {\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }\n                        else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" (if "if") (parenthesized_expression "(*(char *)(iVar12 + 0x82) == '\0')" (( "(") (binary_expression "*(char *)(iVar12 + 0x82) == '\0'" (pointer_expression "*(char *)(iVar12 + 0x82)" (* "*") (cast_expression "(char *)(iVar12 + 0x82)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x82)" (( "(") (binary_expression "iVar12 + 0x82" (identifier "iVar12") (+ "+") (number_literal "0x82")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                          if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }\n                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);\n                          if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }\n                          puVar10[1] = 0xff22;\n                          puVar9 = puVar10 + 3;\n                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);\n                          puVar10[2] = 0xf024599;\n                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);\n                        }" ({ "{") (if_statement "if ((uVar13 & 3) != 0) {\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" (if "if") (parenthesized_expression "((uVar13 & 3) != 0)" (( "(") (binary_expression "(uVar13 & 3) != 0" (parenthesized_expression "(uVar13 & 3)" (( "(") (binary_expression "uVar13 & 3" (identifier "uVar13") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");\n                          }" ({ "{") (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write")" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1e17,"do_write")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1e17") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);" (assignment_expression "iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" (identifier "iVar18") (= "=") (binary_expression "uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" (identifier "uVar13") (- "-") (parenthesized_expression "((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc)" (( "(") (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc" (binary_expression "(int)puVar10 + (uVar14 - (int)puVar1)" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (parenthesized_expression "(uVar14 - (int)puVar1)" (( "(") (binary_expression "uVar14 - (int)puVar1" (identifier "uVar14") (- "-") (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1"))) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (if_statement "if (0xffffff < iVar18) {\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" (if "if") (parenthesized_expression "(0xffffff < iVar18)" (( "(") (binary_expression "0xffffff < iVar18" (number_literal "0xffffff") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n                            uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );\n                            FUN_0023b810(uVar11,iVar18);\n                            return;\n                          }" ({ "{") (expression_statement "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            );" (assignment_expression "uVar11 = gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" (identifier "uVar11") (= "=") (call_expression "gettext(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" (identifier "gettext") (argument_list "(\n                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"\n                                            )" (( "(") (string_literal "".got.plt offset of %ld from .plt beyond the range of ADDIUPC"" (" """) (string_content ".got.plt offset of %ld from .plt beyond the range of ADDIUPC") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar11,iVar18);" (call_expression "FUN_0023b810(uVar11,iVar18)" (identifier "FUN_0023b810") (argument_list "(uVar11,iVar18)" (( "(") (identifier "uVar11") (, ",") (identifier "iVar18") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar10[1] = 0xff22;" (assignment_expression "puVar10[1] = 0xff22" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xff22")) (; ";")) (expression_statement "puVar9 = puVar10 + 3;" (assignment_expression "puVar9 = puVar10 + 3" (identifier "puVar9") (= "=") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);" (assignment_expression "*(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2)" (pointer_expression "*(short *)((int)puVar10 + 2)" (* "*") (cast_expression "(short *)((int)puVar10 + 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar10 + 2)" (( "(") (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(short)(iVar18 >> 2)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(iVar18 >> 2)" (( "(") (binary_expression "iVar18 >> 2" (identifier "iVar18") (>> ">>") (number_literal "2")) () ")")))) (; ";")) (expression_statement "puVar10[2] = 0xf024599;" (assignment_expression "puVar10[2] = 0xf024599" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xf024599")) (; ";")) (expression_statement "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);" (assignment_expression "*(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" (pointer_expression "*(ushort *)puVar10" (* "*") (cast_expression "(ushort *)puVar10" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar10"))) (= "=") (call_expression "CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" (identifier "CONCAT11") (argument_list "(0x79,(byte)(iVar18 >> 0x12) & 0x7f)" (( "(") (number_literal "0x79") (, ",") (binary_expression "(byte)(iVar18 >> 0x12) & 0x7f" (call_expression "(byte)(iVar18 >> 0x12)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(iVar18 >> 0x12)" (( "(") (binary_expression "iVar18 >> 0x12" (identifier "iVar18") (>> ">>") (number_literal "0x12")) () ")"))) (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" (else "else") (compound_statement "{\n                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);\n                          *(short *)((int)puVar10 + 6) = (short)uVar13;\n                          puVar9 = puVar10 + 4;\n                          uVar15 = 0xffffff2f;\n                          *(undefined2 *)puVar10 = 0x41af;\n                          *(undefined2 *)((int)puVar10 + 2) = local_60;\n                          *(undefined2 *)(puVar10 + 1) = 0xff2f;\n                          puVar10[2] = 0xf3c0019;\n                          *(undefined2 *)(puVar10 + 3) = 0x330f;\n                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;\n                        }" ({ "{") (expression_statement "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);" (assignment_expression "local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10)" (identifier "local_60") (= "=") (call_expression "(undefined2)(uVar13 + 0x8000 >> 0x10)" (parenthesized_expression "(undefined2)" (( "(") (identifier "undefined2") () ")")) (argument_list "(uVar13 + 0x8000 >> 0x10)" (( "(") (binary_expression "uVar13 + 0x8000 >> 0x10" (binary_expression "uVar13 + 0x8000" (identifier "uVar13") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "*(short *)((int)puVar10 + 6) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 6) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 6)" (* "*") (cast_expression "(short *)((int)puVar10 + 6)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar10 + 6)" (( "(") (binary_expression "(int)puVar10 + 6" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(short)uVar13" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "puVar9 = puVar10 + 4;" (assignment_expression "puVar9 = puVar10 + 4" (identifier "puVar9") (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar15 = 0xffffff2f;" (assignment_expression "uVar15 = 0xffffff2f" (identifier "uVar15") (= "=") (number_literal "0xffffff2f")) (; ";")) (expression_statement "*(undefined2 *)puVar10 = 0x41af;" (assignment_expression "*(undefined2 *)puVar10 = 0x41af" (pointer_expression "*(undefined2 *)puVar10" (* "*") (cast_expression "(undefined2 *)puVar10" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar10"))) (= "=") (number_literal "0x41af")) (; ";")) (expression_statement "*(undefined2 *)((int)puVar10 + 2) = local_60;" (assignment_expression "*(undefined2 *)((int)puVar10 + 2) = local_60" (pointer_expression "*(undefined2 *)((int)puVar10 + 2)" (* "*") (cast_expression "(undefined2 *)((int)puVar10 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar10 + 2)" (( "(") (binary_expression "(int)puVar10 + 2" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "local_60")) (; ";")) (expression_statement "*(undefined2 *)(puVar10 + 1) = 0xff2f;" (assignment_expression "*(undefined2 *)(puVar10 + 1) = 0xff2f" (pointer_expression "*(undefined2 *)(puVar10 + 1)" (* "*") (cast_expression "(undefined2 *)(puVar10 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 1)" (( "(") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0xff2f")) (; ";")) (expression_statement "puVar10[2] = 0xf3c0019;" (assignment_expression "puVar10[2] = 0xf3c0019" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xf3c0019")) (; ";")) (expression_statement "*(undefined2 *)(puVar10 + 3) = 0x330f;" (assignment_expression "*(undefined2 *)(puVar10 + 3) = 0x330f" (pointer_expression "*(undefined2 *)(puVar10 + 3)" (* "*") (cast_expression "(undefined2 *)(puVar10 + 3)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 3)" (( "(") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0x330f")) (; ";")) (expression_statement "*(short *)((int)puVar10 + 0xe) = (short)uVar13;" (assignment_expression "*(short *)((int)puVar10 + 0xe) = (short)uVar13" (pointer_expression "*(short *)((int)puVar10 + 0xe)" (* "*") (cast_expression "(short *)((int)puVar10 + 0xe)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar10 + 0xe)" (( "(") (binary_expression "(int)puVar10 + 0xe" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "0xe")) () ")")))) (= "=") (cast_expression "(short)uVar13" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar13"))) (; ";")) (} "}")))))) (} "}"))) (expression_statement "local_68 = local_68 + 2;" (assignment_expression "local_68 = local_68 + 2" (identifier "local_68") (= "=") (binary_expression "local_68 + 2" (identifier "local_68") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar19 = puVar19 + 1;" (assignment_expression "puVar19 = puVar19 + 1" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 1" (identifier "puVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar13 = uVar13 + 8;" (assignment_expression "uVar13 = uVar13 + 8" (identifier "uVar13") (= "=") (binary_expression "uVar13 + 8" (identifier "uVar13") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" (identifier "puVar10") (= "=") (identifier "puVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar7 != puVar19)" (( "(") (binary_expression "puVar7 != puVar19" (identifier "puVar7") (!= "!=") (identifier "puVar19")) () ")")) (; ";")) (expression_statement "iVar18 = *(int *)(param_1 + 0x40);" (assignment_expression "iVar18 = *(int *)(param_1 + 0x40)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(param_1 + 0x40)" (* "*") (cast_expression "(int *)(param_1 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" (if "if") (parenthesized_expression "((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18)" (( "(") (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18" (binary_expression "(int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1)" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (+ "+") (parenthesized_expression "(-*(int *)(param_1 + 0x48) - (int)puVar1)" (( "(") (binary_expression "-*(int *)(param_1 + 0x48) - (int)puVar1" (unary_expression "-*(int *)(param_1 + 0x48)" (- "-") (pointer_expression "*(int *)(param_1 + 0x48)" (* "*") (cast_expression "(int *)(param_1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (- "-") (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1"))) () ")"))) (!= "!=") (identifier "iVar18")) () ")")) (compound_statement "{\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);\n                  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15)" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1e33,"do_write",uVar15)" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1e33") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" (if "if") (parenthesized_expression "((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44))" (( "(") (binary_expression "(int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)" (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) (== "==") (pointer_expression "*(int *)(param_1 + 0x44)" (* "*") (cast_expression "(int *)(param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (compound_statement "{\n                    if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }\n                    if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }\n                    \n                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );\n                  }" ({ "{") (if_statement "if ((int)puVar9 - (int)puVar1 != uVar4) {\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" (if "if") (parenthesized_expression "((int)puVar9 - (int)puVar1 != uVar4)" (( "(") (binary_expression "(int)puVar9 - (int)puVar1 != uVar4" (binary_expression "(int)puVar9 - (int)puVar1" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (- "-") (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1"))) (!= "!=") (identifier "uVar4")) () ")")) (compound_statement "{\n                    \n                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);\n                    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1e38,"do_write",\n                                   (int)puVar9 - (int)local_54)" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1e38") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (binary_expression "(int)puVar9 - (int)local_54" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)local_68 - (int)puVar16 == uVar6) {\n                      return;\n                    }" (if "if") (parenthesized_expression "((int)local_68 - (int)puVar16 == uVar6)" (( "(") (binary_expression "(int)local_68 - (int)puVar16 == uVar6" (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (- "-") (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16"))) (== "==") (identifier "uVar6")) () ")")) (compound_statement "{\n                      return;\n                    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                );" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16\n                                )" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1e3b") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (binary_expression "(int)local_68 - (int)puVar16" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (- "-") (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16"))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);" (call_expression "FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18)" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0x1e36,"do_write",iVar18)" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x1e36") (, ",") (string_literal ""do_write"" (" """) (string_content "do_write") (" """)) (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00175b30();" (call_expression "FUN_00175b30()" (identifier "FUN_00175b30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);" (call_expression "FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" (identifier "FUN_002446e0") (argument_list "("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1)" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0xa1f") (, ",") (string_literal ""is_plt_header_compressed"" (" """) (string_content "is_plt_header_compressed") (" """)) (, ",") (identifier "puVar1") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);" (call_expression "FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xc5,"address",uVar14)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) (, ",") (identifier "uVar14") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (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") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00180601:\n                    \n  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" (statement_identifier "LAB_00180601") (: ":") (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xe3,"offset",uVar8)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";"))) (} "}")))

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

void __thiscall
anon_unknown.dwarf_d7d43e::Mips_output_data_plt<64,var_18>::do_write
          (Mips_output_data_plt<64,var_18> *this,Output_file *of)

{
  type_2 *var_16;
  type_1 var_14;
  type_2 var_8;
  type_2 var_7;
  type_3 *pOVar5;
  var_1<64,var_18> *pTVar6;
  type_4 var_21;
  var_2<64> *pMVar8;
  type_2 var_13;
  uint32_t var_3;
  type_2 var_22;
  type_5 *puVar12;
  type_5 *var_27;
  char *format;
  type_2 var_15;
  int var_10;
  type_2 var_6;
  int var_12;
  type_6 *var_17;
  type_7 *var_25;
  int var_9;
  type_4 var_20;
  var_1<64,var_18> *in_stack_ffffff84;
  int *var_31;
  type_8 local_60;
  type_2 *var_26;
  
  var_3 = this->plt0_entry_o32[7];
  if ((var_3 & 4) != 0) {
    var_8 = this->plt0_entry_o32[5];
    if ((var_3 & 2) == 0) {
LAB_001805e4:
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0xcf,"data_size");
    }
    var_7 = this->plt0_entry_o32[3];
    if (this->plt0_entry_o32[4] != 0) {
LAB_0018061e:
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/gold.h",0xc0,"convert_types");
    }
    if (-1 < (int)this->plt0_entry_o32[6]) {
      var_6 = (type_2)of->file_size_;
      var_9 = *(int *)((int)&of->file_size_ + 4);
      var_10 = this->plt0_entry_o32[6] + (type_2)var_5(var_7,var_8);
      var_13 = (type_2)(var_6 < var_7 + var_8);
      var_12 = var_9 - var_10;
      if ((var_11(var_9,var_10) != var_11(var_12,var_13)) == (int)(var_12 - var_13) < 0) {
        var_16 = (type_2 *)(of->base_ + var_8);
        pOVar5 = this->got_plt_;
        var_14 = (pOVar5->super_Output_section_data_build).super_Output_section_data.
                super_Output_data.field_0x1c;
        if ((var_14 & 4) == 0) goto LAB_00180601;
        var_8 = (type_2)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.offset_;
        var_12 = *(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                                super_Output_data.offset_ + 4);
        if ((var_14 & 2) == 0) goto LAB_001805e4;
        var_13 = (type_2)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                      super_Output_data.data_size_;
        if (*(int *)((int)&(pOVar5->super_Output_section_data_build).super_Output_section_data.
                           super_Output_data.data_size_ + 4) != 0) goto LAB_0018061e;
        if ((-1 < var_12) &&
           (var_12 = var_12 + (type_2)var_5(var_13,var_8), var_6 = (type_2)(var_6 < var_13 + var_8),
           var_10 = var_9 - var_12,
           (var_11(var_9,var_12) != var_11(var_10,var_6)) == (int)(var_10 - var_6) < 0)) {
          var_17 = of->base_ + var_8;
          if ((var_3 & 1) != 0) {
            var_8 = this->plt0_entry_o32[1];
            var_3 = this->plt0_entry_o32[2];
            if ((var_14 & 1) != 0) {
              var_6 = (type_2)(pOVar5->super_Output_section_data_build).super_Output_section_data.
                             super_Output_data.address_;
              var_15 = *(type_2 *)((int)&(pOVar5->super_Output_section_data_build).
                                       super_Output_section_data.super_Output_data.address_ + 4);
              if (((var_6 & 0x80000000) != 0 || var_15 != 0) &&
                 ((var_15 & (var_6 | 0x7fffffff)) != 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                gold::var_4("../../gold/mips.cc",0x1d6e,"do_write");
              }
              *var_16 = var_6 + 0x8000 >> 0x10 | 0x3c0e0000;
              var_16[2] = var_6 & 0xffff | 0x25ce0000;
              var_16[1] = var_6 & 0xffff | 0xddd90000;
              var_26 = var_16 + 8;
              var_16[3] = 0x30ec023;
              var_16[4] = 0x3e07825;
              var_31 = (int *)(var_17 + 0x10);
              var_16[5] = 0x18c0c2;
              var_16[6] = 0x320f809;
              var_16[7] = 0x2718fffe;
              var_17[0] = '\0';
              var_17[1] = '\0';
              var_17[2] = '\0';
              var_17[3] = '\0';
              var_17[4] = '\0';
              var_17[5] = '\0';
              var_17[6] = '\0';
              var_17[7] = '\0';
              var_17[8] = '\0';
              var_17[9] = '\0';
              var_17[10] = '\0';
              var_17[0xb] = '\0';
              var_17[0xc] = '\0';
              var_17[0xd] = '\0';
              var_17[0xe] = '\0';
              var_17[0xf] = '\0';
              var_15 = this->plt_mips_offset_;
              if (var_15 + this->plt_comp_offset_ == 0) {
                    /* WARNING: Subroutine does not return */
                gold::var_4("../../gold/mips.cc",0xa1f,"is_plt_header_compressed");
              }
              pTVar6 = this->target_;
              if (pTVar6->field_0xc == '\0') {
                    /* WARNING: Subroutine does not return */
                var_1<64,var_18>::var_19(in_stack_ffffff84);
              }
              var_21 = (this->symbols_).
                        super__Vector_base<(anonymous_namespace)::var_2<64>*,_std::allocator<(anonymous_namespace)::var_2<64>*>_>
                        ._M_impl._M_finish;
              var_22 = *(type_2 *)&pTVar6->field_0x8 >> 0x19 & (type_2)(var_15 == 0);
              var_20 = (this->symbols_).
                         super__Vector_base<(anonymous_namespace)::var_2<64>*,_std::allocator<(anonymous_namespace)::var_2<64>*>_>
                         ._M_impl._M_start;
              puVar12 = (type_5 *)((int)var_26 + var_15);
              if (var_20 != var_21) {
                var_6 = var_6 + 0x10;
                var_27 = puVar12;
                do {
                  pMVar8 = *var_20;
                  var_31[1] = var_3 + var_5(var_22,var_8);
                  *var_31 = var_22 + var_8;
                  if (pMVar8->mips_plt_offset_ != 0xffffffff) {
                    var_25 = (anonymous_namespace)::Mips_output_data_plt<64,false>::var_23;
                    if (((*(type_2 *)&pTVar6->field_0x8 & 0xf0000000) + 0x70000000 & 0xe0000000) == 0)
                    {
                      var_25 = (anonymous_namespace)::Mips_output_data_plt<64,false>::var_24;
                    }
                    *var_26 = var_6 + 0x8000 >> 0x10 | 0x3c0f0000;
                    var_26[1] = *(type_2 *)(var_25 + 4) | var_6 & 0xffff | 0xdc000000;
                    var_26[2] = *(type_2 *)(var_25 + 8);
                    var_26[3] = var_6 & 0xffff | *(type_2 *)(var_25 + 0xc);
                    var_26 = var_26 + 4;
                  }
                  puVar12 = var_27;
                  if (pMVar8->comp_plt_offset_ != 0xffffffff) {
                    if ((pTVar6->field_0xb & 2) == 0) {
                      *var_27 = 0x651bb303;
                      puVar12 = var_27 + 4;
                      var_27[1] = 0xeb009b60;
                      var_27[2] = 0x6500653b;
                      var_27[3] = var_6;
                    }
                    else if (pTVar6->insn32_ == false) {
                      if ((var_6 & 3) != 0) {
                    /* WARNING: Subroutine does not return */
                        gold::var_4("../../gold/mips.cc",0x1e17,"do_write");
                      }
                      var_9 = var_6 - ((int)var_27 + (var_8 - (int)var_16) & 0xfffffffc);
                      if (0xffffff < var_9) {
                        format = (char *)var_28(
                                                ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"
                                                );
                        gold::var_29(format,var_9);
                        return;
                      }
                      var_27[1] = 0xff22;
                      puVar12 = var_27 + 3;
                      *(short *)((int)var_27 + 2) = (short)(var_9 >> 2);
                      var_27[2] = 0xf024599;
                      *(type_9 *)var_27 = var_30(0x79,(type_1)(var_9 >> 0x12) & 0x7f);
                    }
                    else {
                      local_60 = (type_8)(var_6 + 0x8000 >> 0x10);
                      *(short *)((int)var_27 + 6) = (short)var_6;
                      puVar12 = var_27 + 4;
                      *(type_8 *)var_27 = 0x41af;
                      *(type_8 *)((int)var_27 + 2) = local_60;
                      *(type_8 *)(var_27 + 1) = 0xff2f;
                      var_27[2] = 0xf3c0019;
                      *(type_8 *)(var_27 + 3) = 0x330f;
                      *(short *)((int)var_27 + 0xe) = (short)var_6;
                    }
                  }
                  var_31 = var_31 + 2;
                  var_20 = var_20 + 1;
                  var_6 = var_6 + 8;
                  var_27 = puVar12;
                } while (var_21 != var_20);
                var_15 = this->plt_mips_offset_;
              }
              if ((int)var_26 + (-this->plt_header_size_ - (int)var_16) != var_15) {
                    /* WARNING: Subroutine does not return */
                gold::var_4("../../gold/mips.cc",0x1e33,"do_write");
              }
              if ((int)puVar12 - (int)var_26 == this->plt_comp_offset_) {
                if ((int)puVar12 - (int)var_16 != var_7) {
                    /* WARNING: Subroutine does not return */
                  gold::var_4("../../gold/mips.cc",0x1e38,"do_write");
                }
                if ((int)var_31 - (int)var_17 == var_13) {
                  return;
                }
                    /* WARNING: Subroutine does not return */
                gold::var_4("../../gold/mips.cc",0x1e3b,"do_write");
              }
                    /* WARNING: Subroutine does not return */
              gold::var_4("../../gold/mips.cc",0x1e36,"do_write");
            }
          }
                    /* WARNING: Subroutine does not return */
          gold::var_4("../../gold/output.h",0xc5,"address");
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0x6f,"get_output_view");
  }
LAB_00180601:
                    /* WARNING: Subroutine does not return */
  gold::var_4("../../gold/output.h",0xe3,"offset");
}


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

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

void MASKED(uint param_1,int param_2)

{
  uint *puVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  uint uVar6;
  uint *puVar7;
  uint uVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  undefined4 uVar11;
  int iVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  undefined4 *puVar16;
  undefined *puVar17;
  int iVar18;
  uint *puVar19;
  int *local_68;
  undefined2 local_60;
  uint *local_54;
  
  bVar2 = *(byte *)(param_1 + 0x1c);
  uVar8 = (uint)bVar2;
  if ((bVar2 & 4) != 0) {
    uVar15 = *(uint *)(param_1 + 0x14);
    uVar8 = param_1;
    if ((bVar2 & 2) == 0) {
LAB_001805e4:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/output.h",0xcf,"data_size",uVar8);
    }
    uVar4 = *(uint *)(param_1 + 0xc);
    uVar8 = uVar4;
    if (*(int *)(param_1 + 0x10) != 0) {
LAB_0018061e:
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar8);
    }
    if (-1 < *(int *)(param_1 + 0x18)) {
      iVar5 = *(int *)(param_2 + 0xc);
      iVar12 = *(int *)(param_1 + 0x18) + (uint)CARRY4(uVar4,uVar15);
      uVar8 = (uint)(*(uint *)(param_2 + 8) < uVar4 + uVar15);
      iVar18 = iVar5 - iVar12;
      if ((SBORROW4(iVar5,iVar12) != SBORROW4(iVar18,uVar8)) == (int)(iVar18 - uVar8) < 0) {
        puVar1 = (uint *)(*(int *)(param_2 + 0x10) + uVar15);
        uVar8 = *(uint *)(param_1 + 0x30);
        bVar3 = *(byte *)(uVar8 + 0x1c);
        if ((bVar3 & 4) == 0) goto LAB_00180601;
        uVar15 = *(uint *)(uVar8 + 0x14);
        iVar18 = *(int *)(uVar8 + 0x18);
        if ((bVar3 & 2) == 0) goto LAB_001805e4;
        uVar6 = *(uint *)(uVar8 + 0xc);
        if (*(int *)(uVar8 + 0x10) != 0) goto LAB_0018061e;
        if ((-1 < iVar18) &&
           (uVar14 = iVar18 + (uint)CARRY4(uVar6,uVar15),
           uVar13 = (uint)(*(uint *)(param_2 + 8) < uVar6 + uVar15),
           (SBORROW4(iVar5,uVar14) != SBORROW4(iVar5 - uVar14,uVar13)) ==
           (int)((iVar5 - uVar14) - uVar13) < 0)) {
          puVar16 = (undefined4 *)(*(int *)(param_2 + 0x10) + uVar15);
          if ((bVar2 & 1) != 0) {
            uVar14 = *(uint *)(param_1 + 4);
            iVar5 = *(int *)(param_1 + 8);
            if ((bVar3 & 1) != 0) {
              uVar15 = *(uint *)(uVar8 + 4);
              if (((uVar15 & 0x80000000) != 0 || *(uint *)(uVar8 + 8) != 0) &&
                 ((*(uint *)(uVar8 + 8) & (uVar15 | 0x7fffffff)) != 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                FUN_002446e0("../../gold/mips.cc",0x1d6e,"do_write",iVar18);
              }
              *puVar1 = uVar15 + 0x8000 >> 0x10 | 0x3c0e0000;
              puVar1[2] = uVar15 & 0xffff | 0x25ce0000;
              puVar1[1] = uVar15 & 0xffff | 0xddd90000;
              local_54 = puVar1 + 8;
              puVar1[3] = 0x30ec023;
              puVar1[4] = 0x3e07825;
              local_68 = puVar16 + 4;
              puVar1[5] = 0x18c0c2;
              puVar1[6] = 0x320f809;
              puVar1[7] = 0x2718fffe;
              *puVar16 = 0;
              puVar16[1] = 0;
              puVar16[2] = 0;
              puVar16[3] = 0;
              iVar18 = *(int *)(param_1 + 0x40);
              if (iVar18 + *(int *)(param_1 + 0x44) != 0) {
                iVar12 = *(int *)(param_1 + 0x4c);
                if (*(char *)(iVar12 + 0xc) != '\0') {
                  puVar7 = *(uint **)(param_1 + 0x38);
                  uVar8 = *(uint *)(iVar12 + 8) >> 0x19 & (uint)(iVar18 == 0);
                  puVar19 = *(uint **)(param_1 + 0x34);
                  puVar9 = (undefined4 *)((int)local_54 + iVar18);
                  if (puVar19 != puVar7) {
                    uVar13 = uVar15 + 0x10;
                    puVar10 = puVar9;
                    do {
                      uVar15 = *puVar19;
                      local_68[1] = iVar5 + (uint)CARRY4(uVar8,uVar14);
                      *local_68 = uVar8 + uVar14;
                      if (*(int *)(uVar15 + 0x60) != -1) {
                        puVar17 = &DAT_0047aee0;
                        if (((*(uint *)(iVar12 + 8) & 0xf0000000) + 0x70000000 & 0xe0000000) == 0) {
                          puVar17 = &DAT_0047aed0;
                        }
                        *local_54 = uVar13 + 0x8000 >> 0x10 | 0x3c0f0000;
                        local_54[1] = *(uint *)(puVar17 + 4) | uVar13 & 0xffff | 0xdc000000;
                        local_54[2] = *(uint *)(puVar17 + 8);
                        local_54[3] = uVar13 & 0xffff | *(uint *)(puVar17 + 0xc);
                        local_54 = local_54 + 4;
                      }
                      puVar9 = puVar10;
                      if (*(int *)(uVar15 + 100) != -1) {
                        if ((*(byte *)(iVar12 + 0xb) & 2) == 0) {
                          *puVar10 = 0x651bb303;
                          puVar9 = puVar10 + 4;
                          puVar10[1] = 0xeb009b60;
                          puVar10[2] = 0x6500653b;
                          puVar10[3] = uVar13;
                        }
                        else if (*(char *)(iVar12 + 0x82) == '\0') {
                          if ((uVar13 & 3) != 0) {
                    /* WARNING: Subroutine does not return */
                            FUN_002446e0("../../gold/mips.cc",0x1e17,"do_write");
                          }
                          iVar18 = uVar13 - ((int)puVar10 + (uVar14 - (int)puVar1) & 0xfffffffc);
                          if (0xffffff < iVar18) {
                            uVar11 = gettext(
                                            ".got.plt offset of %ld from .plt beyond the range of ADDIUPC"
                                            );
                            FUN_0023b810(uVar11,iVar18);
                            return;
                          }
                          puVar10[1] = 0xff22;
                          puVar9 = puVar10 + 3;
                          *(short *)((int)puVar10 + 2) = (short)(iVar18 >> 2);
                          puVar10[2] = 0xf024599;
                          *(ushort *)puVar10 = CONCAT11(0x79,(byte)(iVar18 >> 0x12) & 0x7f);
                        }
                        else {
                          local_60 = (undefined2)(uVar13 + 0x8000 >> 0x10);
                          *(short *)((int)puVar10 + 6) = (short)uVar13;
                          puVar9 = puVar10 + 4;
                          uVar15 = 0xffffff2f;
                          *(undefined2 *)puVar10 = 0x41af;
                          *(undefined2 *)((int)puVar10 + 2) = local_60;
                          *(undefined2 *)(puVar10 + 1) = 0xff2f;
                          puVar10[2] = 0xf3c0019;
                          *(undefined2 *)(puVar10 + 3) = 0x330f;
                          *(short *)((int)puVar10 + 0xe) = (short)uVar13;
                        }
                      }
                      local_68 = local_68 + 2;
                      puVar19 = puVar19 + 1;
                      uVar13 = uVar13 + 8;
                      puVar10 = puVar9;
                    } while (puVar7 != puVar19);
                    iVar18 = *(int *)(param_1 + 0x40);
                  }
                  if ((int)local_54 + (-*(int *)(param_1 + 0x48) - (int)puVar1) != iVar18) {
                    /* WARNING: Subroutine does not return */
                    FUN_002446e0("../../gold/mips.cc",0x1e33,"do_write",uVar15);
                  }
                  if ((int)puVar9 - (int)local_54 == *(int *)(param_1 + 0x44)) {
                    if ((int)puVar9 - (int)puVar1 != uVar4) {
                    /* WARNING: Subroutine does not return */
                      FUN_002446e0("../../gold/mips.cc",0x1e38,"do_write",
                                   (int)puVar9 - (int)local_54);
                    }
                    if ((int)local_68 - (int)puVar16 == uVar6) {
                      return;
                    }
                    /* WARNING: Subroutine does not return */
                    FUN_002446e0("../../gold/mips.cc",0x1e3b,"do_write",(int)local_68 - (int)puVar16
                                );
                  }
                    /* WARNING: Subroutine does not return */
                  FUN_002446e0("../../gold/mips.cc",0x1e36,"do_write",iVar18);
                }
                FUN_00175b30();
              }
                    /* WARNING: Subroutine does not return */
              FUN_002446e0("../../gold/mips.cc",0xa1f,"is_plt_header_compressed",puVar1);
            }
          }
                    /* WARNING: Subroutine does not return */
          FUN_002446e0("../../gold/output.h",0xc5,"address",uVar14);
        }
      }
    }
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0x6f,"get_output_view");
  }
LAB_00180601:
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/output.h",0xe3,"offset",uVar8);
}

