
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void do_write(Mips_output_data_la25_stub<64,_false> * this, Output_file
   * of) */

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

{
  char cVar1;
  ushort uVar2;
  off_t oVar3;
  int iVar4;
  Mips_symbol<64> *pMVar5;
  int iVar6;
  undefined4 uVar7;
  ushort *puVar8;
  undefined4 *puVar9;
  int *piVar10;
  int *piVar11;
  uint uVar12;
  Output_file *pOVar13;
  char *pcVar14;
  Target_mips<64,_false> *this_00;
  size_t sVar15;
  char *pcVar16;
  pointer ppVar17;
  Output_file *pOVar18;
  pointer ppMVar19;
  Output_file *pOVar20;
  ushort *puVar21;
  uint uVar22;
  pointer ppMVar23;
  uint uVar24;
  int *piVar25;
  uchar *puVar26;
  int iVar27;
  undefined *puVar28;
  code *pcVar29;
  code *pcVar30;
  undefined4 in_stack_fffffed4;
  undefined4 in_stack_fffffef4;
  undefined4 in_stack_ffffff1c;
  undefined4 in_stack_ffffff3c;
  undefined4 in_stack_ffffff64;
  undefined4 in_stack_ffffff84;
  undefined4 in_stack_ffffffa4;
  undefined4 in_stack_ffffffcc;
  undefined4 in_stack_ffffffec;
  
  iVar4 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;
  if (iVar4 << 2 < 0) {
    pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_;
    iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_;
    if (iVar4 << 1 < 0) {
      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;
      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {
        uVar22 = uVar24 + iVar27;
        if (-1 < (int)pOVar18) {
          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);
          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);
          if ((pOVar18 == (Output_file *)0x0) &&
             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {
            ppMVar23 = (this->symbols_).
                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
                       ._M_impl._M_finish;
            ppMVar19 = (this->symbols_).
                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
                       ._M_impl._M_start;
            puVar26 = of->base_;
            do {
              if (ppMVar19 == ppMVar23) {
                return;
              }
              while( true ) {
                pMVar5 = *ppMVar19;
                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;
                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);
                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=
                    0x20) break;
                *(undefined2 *)piVar10 = 0xb941;
                uVar12 = (uVar24 | 1) + 0x8000;
                *(undefined2 *)(piVar10 + 2) = 0x3933;
                uVar22 = (uVar24 | 1) << 5;
                *(undefined2 *)(piVar10 + 3) = 0;
                *(undefined2 *)((int)piVar10 + 0xe) = 0;
                *(ushort *)((int)piVar10 + 2) =
                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);
                *(ushort *)(piVar10 + 1) =
                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;
                ppMVar19 = ppMVar19 + 1;
                *(ushort *)((int)piVar10 + 6) =
                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;
                *(ushort *)((int)piVar10 + 10) =
                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;
                if (ppMVar23 == ppMVar19) {
                  return;
                }
              }
              piVar10[3] = 0;
              uVar22 = (uVar24 << 4) >> 6;
              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000
                         + 0x193c;
              ppMVar19 = ppMVar19 + 1;
              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |
                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;
              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        gold::Output_file::get_output_view
                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,
                 PTR_s__s_004c1a50 + -0x3a9c);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350
              );
  }
  sVar15 = 0xe3;
  pOVar18 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  puVar28 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar18,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].name_;
    iVar4 = pOVar18[1].o_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      if (pOVar18->base_ == (uchar *)0x0) {
        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;
        if (-1 < (int)pOVar20) {
          pcVar14 = (char *)((int)&pOVar20->name_ +
                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));
          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);
          if ((pOVar20 == (Output_file *)0x0) &&
             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {
            piVar25 = (int *)pOVar18[2].o_;
            piVar10 = (int *)pOVar18[2].name_;
            iVar27 = *(int *)(sVar15 + 0x10);
            do {
              if (piVar10 == piVar25) {
                return;
              }
              while( true ) {
                iVar6 = *piVar10;
                uVar24 = *(uint *)(iVar6 + 0x30);
                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));
                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;
                *(undefined2 *)piVar11 = 0xb941;
                uVar12 = (uVar24 | 1) + 0x8000;
                *(undefined2 *)(piVar11 + 2) = 0x3933;
                uVar22 = (uVar24 | 1) << 5;
                *(undefined2 *)(piVar11 + 3) = 0;
                *(undefined2 *)((int)piVar11 + 0xe) = 0;
                *(ushort *)((int)piVar11 + 2) =
                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);
                *(ushort *)(piVar11 + 1) =
                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;
                piVar10 = piVar10 + 1;
                *(ushort *)((int)piVar11 + 6) =
                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;
                *(ushort *)((int)piVar11 + 10) =
                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;
                if (piVar25 == piVar10) {
                  return;
                }
              }
              piVar11[3] = 0;
              uVar22 = (uVar24 << 4) >> 6;
              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000
                         + 0x193c;
              piVar10 = piVar10 + 1;
              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |
                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;
              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        gold::Output_file::get_output_view
                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);
      }
      (**(code **)(puVar28 + 0x3eb104))
                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);
    }
    (**(code **)(puVar28 + 0x3eb104))
              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar29 = *(code **)(puVar28 + 0x3eb104);
  pOVar18 = (Output_file *)(*(int *)(puVar28 + 0x3ea950) + 0x3574);
  (*pcVar29)(pOVar18,0xe3,*(int *)(puVar28 + 0x3eb124) + -0x3a3c);
  pcVar30 = pcVar29 + 0x3f2734;
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].o_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;
      if (pOVar18->base_ == (uchar *)0x0) {
        uVar22 = (int)&pOVar20->name_ + uVar24;
        pOVar13 = pOVar18;
        if (-1 < (int)pOVar18[1].name_) {
          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));
          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&
             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {
            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));
            pcVar16 = pcVar14 + uVar24;
            if (pcVar16 < pcVar14 + 8) {
              return;
            }
            uVar24 = (uint)(byte)pcVar14[1];
            cVar1 = *pcVar14;
            if (7 < uVar24) {
              oVar3 = pOVar18[10].file_size_;
              do {
                if (cVar1 == '\x01') {
                  iVar4 = *(int *)((int)oVar3 + 0x18);
                  if (iVar4 == 0) {
                    pcVar14[0x1c] = '\0';
                    pcVar14[0x1d] = '\0';
                    pcVar14[0x1e] = '\0';
                    pcVar14[0x1f] = '\0';
                  }
                  else {
                    uVar22 = *(uint *)(iVar4 + 0x30);
                    *(uint *)(pcVar14 + 0x1c) =
                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (pcVar16 < pcVar14 + uVar24 + 8) {
                  return;
                }
                pcVar14 = pcVar14 + uVar24;
                uVar24 = (uint)(byte)pcVar14[1];
                cVar1 = *pcVar14;
              } while (7 < uVar24);
            }
            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);
      }
      (**(code **)(pcVar29 + 0x3eaf24))
                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);
    }
    (**(code **)(pcVar29 + 0x3eaf24))
              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar30 = *(code **)(pcVar29 + 0x3eaf24);
  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea770) + 0x3574);
  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c);
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].name_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar20) {
        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;
        pcVar14 = (char *)((int)&pOVar20->name_ +
                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));
        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);
        if ((pOVar20 == (Output_file *)0x0) &&
           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {
          puVar21 = (ushort *)pOVar18[2].name_;
          uVar2 = *puVar21;
          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);
          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);
          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];
          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];
          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];
          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];
          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];
          pcVar14 = pOVar18[2].name_;
          uVar24 = *(uint *)(pcVar14 + 8);
          *(uint *)(puVar8 + 4) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0xc);
          *(uint *)(puVar8 + 6) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0x10);
          *(uint *)(puVar8 + 8) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0x14);
          *(uint *)(puVar8 + 10) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);
    }
    (**(code **)(pcVar30 + 0x3ead54))
              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar29 = *(code **)(pcVar30 + 0x3ead54);
  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574);
  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ead74) + -0x3a3c);
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].name_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar20) {
        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;
        pcVar14 = (char *)((int)&pOVar20->name_ +
                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));
        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);
        if ((pOVar20 == (Output_file *)0x0) &&
           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {
          puVar21 = (ushort *)pOVar18[2].name_;
          uVar2 = *puVar21;
          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);
          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);
          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];
          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];
          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];
          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];
          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];
          pcVar14 = pOVar18[2].name_;
          uVar24 = *(uint *)(pcVar14 + 8);
          *(uint *)(puVar8 + 4) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0xc);
          *(uint *)(puVar8 + 6) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0x10);
          *(uint *)(puVar8 + 8) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar24 = *(uint *)(pcVar14 + 0x14);
          *(uint *)(puVar8 + 10) =
               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);
    }
    (**(code **)(pcVar29 + 0x3eabf0))
              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar30 = *(code **)(pcVar29 + 0x3eabf0);
  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea43c) + 0x3574);
  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eac10) + -0x3a3c);
  pcVar29 = pcVar30 + 0x3f229c;
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].o_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;
      if (pOVar18->base_ == (uchar *)0x0) {
        uVar22 = (int)&pOVar20->name_ + uVar24;
        pOVar13 = pOVar18;
        if (-1 < (int)pOVar18[1].name_) {
          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));
          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&
             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {
            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));
            pcVar16 = pcVar14 + uVar24;
            if (pcVar16 < pcVar14 + 8) {
              return;
            }
            uVar24 = (uint)(byte)pcVar14[1];
            cVar1 = *pcVar14;
            if (7 < uVar24) {
              oVar3 = pOVar18[10].file_size_;
              do {
                if (cVar1 == '\x01') {
                  iVar4 = *(int *)((int)oVar3 + 0x18);
                  if (iVar4 == 0) {
                    pcVar14[0x24] = '\0';
                    pcVar14[0x25] = '\0';
                    pcVar14[0x26] = '\0';
                    pcVar14[0x27] = '\0';
                    pcVar14[0x20] = '\0';
                    pcVar14[0x21] = '\0';
                    pcVar14[0x22] = '\0';
                    pcVar14[0x23] = '\0';
                  }
                  else {
                    uVar7 = *(undefined4 *)(iVar4 + 0x30);
                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);
                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;
                  }
                }
                if (pcVar16 < pcVar14 + uVar24 + 8) {
                  return;
                }
                pcVar14 = pcVar14 + uVar24;
                uVar24 = (uint)(byte)pcVar14[1];
                cVar1 = *pcVar14;
              } while (7 < uVar24);
            }
            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);
      }
      (**(code **)(pcVar30 + 0x3eaa8c))
                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);
    }
    (**(code **)(pcVar30 + 0x3eaa8c))
              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar29 = *(code **)(pcVar30 + 0x3eaa8c);
  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574);
  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c);
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].name_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar20) {
        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;
        pcVar14 = (char *)((int)&pOVar20->name_ +
                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));
        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);
        if ((pOVar20 == (Output_file *)0x0) &&
           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {
          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;
          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);
          pcVar14 = pOVar18[2].name_;
          puVar9[1] = (int)pOVar18[2].file_size_;
          *puVar9 = uVar7;
          puVar26 = pOVar18[2].base_;
          iVar4 = *(int *)(pcVar14 + 0x18);
          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;
          puVar9[1] = puVar26;
          pcVar14 = pOVar18[3].name_;
          puVar9[3] = pOVar18[3].o_;
          puVar9[2] = pcVar14;
          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;
          puVar9[4] = (int)pOVar18[3].file_size_;
          puVar9[3] = uVar7;
          puVar26 = pOVar18[3].base_;
          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;
          puVar9[4] = puVar26;
          if (iVar4 == 0) {
            puVar9[6] = 0;
            puVar9[5] = 0;
            return;
          }
          uVar7 = *(undefined4 *)(iVar4 + 0x30);
          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);
          puVar9[5] = uVar7;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);
    }
    (**(code **)(pcVar29 + 0x3ea8b8))
              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar30 = *(code **)(pcVar29 + 0x3ea8b8);
  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea104) + 0x3574);
  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c);
  pcVar29 = pcVar30 + 0x3f1f74;
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].o_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;
      if (pOVar18->base_ == (uchar *)0x0) {
        uVar22 = (int)&pOVar20->name_ + uVar24;
        pOVar13 = pOVar18;
        if (-1 < (int)pOVar18[1].name_) {
          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));
          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&
             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {
            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));
            pcVar16 = pcVar14 + uVar24;
            if (pcVar16 < pcVar14 + 8) {
              return;
            }
            uVar24 = (uint)(byte)pcVar14[1];
            cVar1 = *pcVar14;
            if (7 < uVar24) {
              oVar3 = pOVar18[10].file_size_;
              do {
                if (cVar1 == '\x01') {
                  iVar4 = *(int *)((int)oVar3 + 0x18);
                  if (iVar4 == 0) {
                    pcVar14[0x20] = '\0';
                    pcVar14[0x21] = '\0';
                    pcVar14[0x22] = '\0';
                    pcVar14[0x23] = '\0';
                    pcVar14[0x24] = '\0';
                    pcVar14[0x25] = '\0';
                    pcVar14[0x26] = '\0';
                    pcVar14[0x27] = '\0';
                  }
                  else {
                    uVar22 = *(uint *)(iVar4 + 0x30);
                    uVar12 = *(uint *)(iVar4 + 0x34);
                    *(uint *)(pcVar14 + 0x24) =
                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
                    *(uint *)(pcVar14 + 0x20) =
                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (pcVar16 < pcVar14 + uVar24 + 8) {
                  return;
                }
                pcVar14 = pcVar14 + uVar24;
                uVar24 = (uint)(byte)pcVar14[1];
                cVar1 = *pcVar14;
              } while (7 < uVar24);
            }
            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);
      }
      (**(code **)(pcVar30 + 0x3ea764))
                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);
    }
    (**(code **)(pcVar30 + 0x3ea764))
              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350);
  }
  sVar15 = 0xe3;
  pcVar29 = *(code **)(pcVar30 + 0x3ea764);
  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574);
  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ea784) + -0x3a3c);
  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {
    pOVar20 = (Output_file *)pOVar18[1].name_;
    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar20) {
        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;
        pcVar14 = (char *)((int)&pOVar20->name_ +
                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));
        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);
        if ((pOVar20 == (Output_file *)0x0) &&
           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {
          uVar22 = *(uint *)&pOVar18[2].file_size_;
          uVar24 = (uint)pOVar18[2].file_size_;
          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);
          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);
          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          puVar26 = pOVar18[2].base_;
          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;
          uVar24._1_1_ = pOVar18[2].map_is_allocated_;
          uVar24._2_1_ = pOVar18[2].is_temporary_;
          uVar24._3_1_ = pOVar18[2].field_0x17;
          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)
                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;
          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          pcVar14 = pOVar18[3].name_;
          uVar24 = pOVar18[3].o_;
          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)
                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;
          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar22 = *(uint *)&pOVar18[3].file_size_;
          uVar24 = (uint)pOVar18[3].file_size_;
          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;
          uVar22._1_1_ = pOVar18[3].map_is_allocated_;
          uVar22._2_1_ = pOVar18[3].is_temporary_;
          uVar22._3_1_ = pOVar18[3].field_0x17;
          puVar26 = pOVar18[3].base_;
          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)
                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;
          if (iVar4 == 0) {
            piVar10[5] = 0;
            piVar10[6] = 0;
            return;
          }
          uVar24 = *(uint *)(iVar4 + 0x30);
          uVar22 = *(uint *)(iVar4 + 0x34);
          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;
          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);
    }
    (**(code **)(pcVar29 + 0x3ea580))
              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350);
  }
  pcVar30 = *(code **)(pcVar29 + 0x3ea580);
  (*pcVar30)(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c);
  pcVar29 = *(code **)(pcVar30 + 0x3ea3cc);
  iVar4 = *(int *)(pcVar30 + 0x3e9c18) + 0x3574;
  (*pcVar29)(iVar4,0xc5,*(int *)(pcVar30 + 0x3ea3ec) + -0x3478);
  if (*(int *)(iVar4 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar30 = *(code **)(pcVar29 + 0x3ea398);
  (*pcVar30)(*(int *)(pcVar29 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea3b8) + -0x3350);
  pcVar29 = *(code **)(pcVar30 + 0x3ea338);
  iVar4 = *(int *)(pcVar30 + 0x3e9b84) + 0x3574;
  (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea358) + -0x3350);
  if (*(int *)(iVar4 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar30 = *(code **)(pcVar29 + 0x3ea304);
  iVar4 = *(int *)(pcVar29 + 0x3e9b50) + 0x3574;
  (*pcVar30)(iVar4,0xcf,*(int *)(pcVar29 + 0x3ea324) + -0x3350);
  if (*(int *)(iVar4 + 0x14) == 0) {
    return;
  }
  if (-1 < *(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1) {
    pcVar29 = *(code **)(pcVar30 + 0x3ea2a4);
    iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574;
    (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350);
    if (*(int *)(iVar4 + 0x14) == 0) {
      return;
    }
    if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {
      return;
    }
    pcVar30 = *(code **)(pcVar29 + 0x3ea244);
    (*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350);
    this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574);
    (**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc);
    ppVar17 = (this_00->mips_mach_extensions_).
              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
              ._M_impl._M_start;
    if (*(char *)&ppVar17[1].second == '\0') {
      Target_mips<64,_false>::is_output_micromips(this_00);
      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {
        this_00->got_ =
             (Mips_output_data_got<64,_false> *)
             ((int)&((this_00->dyn_relocs_).
                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>
                     ._M_impl._M_finish)->sym_ +
             (int)&((this_00->dyn_relocs_).
                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>
                    ._M_impl._M_end_of_storage)->sym_ +
             (int)(this_00->dyn_relocs_).
                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>
                  ._M_impl._M_start);
        *(undefined4 *)&this_00->field_0x10 = 0;
        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;
        return;
      }
                    /* WARNING: Subroutine does not return */
      Mips_output_data_mips_stubs<64,_false>::set_final_data_size
                ((Mips_output_data_mips_stubs<64,_false> *)this_00);
    }
    iVar4 = 0x10;
    if ((int)(ppVar17[1].first << 6) < 0) {
      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {
        iVar4 = 0x14;
      }
    }
    else {
      iVar4 = 0x14;
    }
    if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {
      this_00->got_ =
           (Mips_output_data_got<64,_false> *)
           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);
      *(undefined4 *)&this_00->field_0x10 = 0;
      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;
      return;
    }
                    /* WARNING: Subroutine does not return */
    Mips_output_data_mips_stubs<64,_false>::set_final_data_size
              ((Mips_output_data_mips_stubs<64,_false> *)this_00);
  }
  return;
}



void FUN_000d6720(int param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  uint uVar5;
  undefined *puVar6;
  int *piVar7;
  uint uVar8;
  int *piVar9;
  int iVar10;
  undefined *puVar11;
  
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
    iVar10 = *(int *)(param_1 + 0x1c);
    if (*(int *)(param_1 + 0x20) << 1 < 0) {
      if (*(int *)(param_1 + 0x10) == 0) {
        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;
        if (-1 < *(int *)(param_1 + 0x18)) {
          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);
          if ((iVar2 <= *(int *)(param_2 + 8)) &&
             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {
            piVar9 = *(int **)(param_1 + 0x34);
            piVar7 = *(int **)(param_1 + 0x30);
            iVar2 = *(int *)(param_2 + 0x10);
            do {
              if (piVar7 == piVar9) {
                return;
              }
              while( true ) {
                iVar3 = *piVar7;
                uVar8 = *(uint *)(iVar3 + 0x34);
                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));
                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;
                *(undefined2 *)piVar4 = 0xb941;
                uVar5 = (uVar8 | 1) + 0x8000;
                *(undefined2 *)(piVar4 + 2) = 0x3933;
                uVar1 = (uVar8 | 1) << 5;
                *(undefined2 *)(piVar4 + 3) = 0;
                *(undefined2 *)((int)piVar4 + 0xe) = 0;
                *(ushort *)((int)piVar4 + 2) =
                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);
                *(ushort *)(piVar4 + 1) =
                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;
                piVar7 = piVar7 + 1;
                *(ushort *)((int)piVar4 + 6) =
                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;
                *(ushort *)((int)piVar4 + 10) =
                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;
                if (piVar9 == piVar7) {
                  return;
                }
              }
              piVar4[3] = 0;
              uVar1 = (uVar8 << 4) >> 6;
              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +
                        0x193c;
              piVar7 = piVar7 + 1;
              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |
                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;
              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        FUN_000d5cdc();
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,
                 PTR_s__s_004c1a50 + -0x3a9c);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350
              );
  }
  iVar10 = 0xe3;
  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
  puVar11 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (-1 < *(int *)(puVar6 + 0x20) << 2) {
    (**(code **)(puVar11 + 0x3eb104))
              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);
    return;
  }
  iVar2 = *(int *)(puVar6 + 0x1c);
  if (*(int *)(puVar6 + 0x20) << 1 < 0) {
    if (*(int *)(puVar6 + 0x10) == 0) {
      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;
      if (-1 < *(int *)(puVar6 + 0x18)) {
        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);
        if ((iVar3 <= *(int *)(iVar10 + 8)) &&
           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {
          piVar9 = *(int **)(puVar6 + 0x34);
          piVar7 = *(int **)(puVar6 + 0x30);
          iVar10 = *(int *)(iVar10 + 0x10);
          do {
            if (piVar7 == piVar9) {
              return;
            }
            while( true ) {
              iVar3 = *piVar7;
              uVar8 = *(uint *)(iVar3 + 0x30);
              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));
              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;
              *(undefined2 *)piVar4 = 0xb941;
              uVar5 = (uVar8 | 1) + 0x8000;
              *(undefined2 *)(piVar4 + 2) = 0x3933;
              uVar1 = (uVar8 | 1) << 5;
              *(undefined2 *)(piVar4 + 3) = 0;
              *(undefined2 *)((int)piVar4 + 0xe) = 0;
              *(ushort *)((int)piVar4 + 2) =
                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);
              *(ushort *)(piVar4 + 1) =
                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;
              piVar7 = piVar7 + 1;
              *(ushort *)((int)piVar4 + 6) =
                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;
              *(ushort *)((int)piVar4 + 10) =
                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;
              if (piVar9 == piVar7) {
                return;
              }
            }
            piVar4[3] = 0;
            uVar1 = (uVar8 << 4) >> 6;
            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +
                      0x193c;
            piVar7 = piVar7 + 1;
            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |
                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;
            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;
          } while( true );
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(puVar11 + 0x3eb104))
              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);
    return;
  }
  (**(code **)(puVar11 + 0x3eb104))
            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);
  return;
}


lui gp,0x3f
addiu gp,gp,0x2b20
addu gp,gp,t9
lw v0,0x20(a0)
addiu sp,sp,-0x28
ext v1,v0,0x1d,0x1
sw gp,0x10(sp)
sw ra,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
beq v1,zero,0x000d6910
_sw s0,0x18(sp)
ext v0,v0,0x1e,0x1
lw a2,0x18(a0)
beq v0,zero,0x000d68f4
_lw t0,0x1c(a0)
lw v1,0x10(a0)
bne v1,zero,0x000d68d8
_lw v0,0x14(a0)
bltz a2,0x000d68c8
_addu a3,v0,t0
lw v1,0x8(a1)
sltu v0,a3,v0
addu v0,v0,a2
slt a2,v1,v0
bne a2,zero,0x000d68cc
_lw t9,-0x77f4(gp)
beq v1,v0,0x000d68b8
_nop
lw a3,0x34(a0)
lw a2,0x30(a0)
beq a2,a3,0x000d68a0
_lw t1,0x10(a1)
li t2,0x20
li t9,-0x46bf
ori t3,zero,0x8000
li t8,-0x2c00
li t7,0x3933
lui t6,0x3c19
lui t5,0x800
b 0x000d6814
_lui t4,0x2739
addu a0,v0,t3
sw zero,0xc(v1)
ext a1,v0,0x2,0x1a
srl a0,a0,0x10
andi v0,v0,0xffff
or a0,a0,t6
or a1,a1,t5
or v0,v0,t4
wsbh a0,a0
wsbh a1,a1
wsbh v0,v0
rotr a0,a0,0x10
rotr a1,a1,0x10
rotr v0,v0,0x10
sw a0,0x0(v1)
addiu a2,a2,0x4
sw a1,0x4(v1)
beq a3,a2,0x000d68a0
_sw v0,0x8(v1)
lw v0,0x0(a2)
lw v1,0x44(v0)
lhu a0,0x28(v0)
lw a1,0x30(v0)
addu v1,t0,v1
lw v0,0x34(v0)
andi a0,a0,0x30
bne a0,t2,0x000d67c8
_addu v1,t1,v1
ori v0,v0,0x1
sh t9,0x0(v1)
addu a0,v0,t3
sh t7,0x8(v1)
ext s1,v0,0x11,0xa
sh zero,0xc(v1)
sltu s2,a0,v0
sh zero,0xe(v1)
addu s2,s2,a1
srl s0,v0,0x1
sll a1,a1,0x1f
srl a0,a0,0x10
sll s2,s2,0x10
or s0,a1,s0
or a0,s2,a0
or s1,s1,t8
wsbh a0,a0
wsbh a1,s1
wsbh s0,s0
sh a0,0x2(v1)
wsbh v0,v0
sh a1,0x4(v1)
addiu a2,a2,0x4
sh s0,0x6(v1)
bne a3,a2,0x000d6814
_sh v0,0xa(v1)
lw ra,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x28
lw v0,0xc(a1)
sltu a3,v0,a3
beq a3,zero,0x000d6794
_nop
lw t9,-0x77f4(gp)
addiu t9,t9,0x5cdc
bal 0x000d5cdc
_nop
lw a2,-0x77f0(gp)
li a1,0xc0
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x3a9c
jalr t9
_addiu a0,a0,0x4584
lw a2,-0x77f0(gp)
li a1,0xcf
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x3350
jalr t9
_addiu a0,a0,0x3574
lw a2,-0x77f0(gp)
li a1,0xe3
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x3a3c
jalr t9
_addiu a0,a0,0x3574
(translation_unit "void FUN_000d6720(int param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}\n\n" (function_definition "void FUN_000d6720(int param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" primitive_type (function_declarator "FUN_000d6720(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" { (expression_statement "iVar10 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 1 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" { (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\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 "{\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar8 = *(uint *)(param_1 + 0x14) + iVar10;" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14) + iVar10" identifier = (binary_expression "*(uint *)(param_1 + 0x14) + iVar10" (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) )))) + identifier)) ;) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\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          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" { (expression_statement "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" identifier = (binary_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < *(uint *)(param_1 + 0x14))" ( (binary_expression "uVar8 < *(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) ))))) ))) + (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) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_2 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_2 + 8)" identifier <= (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))" ( (binary_expression "*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar2" (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar8 <= *(uint *)(param_2 + 0xc))" ( (binary_expression "uVar8 <= *(uint *)(param_2 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_2 + 0xc)" * (cast_expression "(uint *)(param_2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" { (expression_statement "piVar9 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x34)" identifier = (pointer_expression "*(int **)(param_1 + 0x34)" * (cast_expression "(int **)(param_1 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = *(int **)(param_1 + 0x30);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x30)" identifier = (pointer_expression "*(int **)(param_1 + 0x30)" * (cast_expression "(int **)(param_1 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );" do (compound_statement "{\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            }" { (if_statement "if (piVar7 == piVar9) {\n                return;\n              }" if (parenthesized_expression "(piVar7 == piVar9)" ( (binary_expression "piVar7 == piVar9" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" { (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x34);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x34)" * (cast_expression "(uint *)(iVar3 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));" (assignment_expression "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" identifier = (cast_expression "(int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" ( (binary_expression "iVar2 + iVar10 + *(int *)(iVar3 + 0x44)" (binary_expression "iVar2 + iVar10" identifier + identifier) + (pointer_expression "*(int *)(iVar3 + 0x44)" * (cast_expression "(int *)(iVar3 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x44)" ( (binary_expression "iVar3 + 0x44" identifier + number_literal) ))))) )))) ;) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" if (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" ( (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" ( (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" * (cast_expression "(ushort *)(iVar3 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" * (cast_expression "(undefined2 *)piVar4" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" identifier = (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" * (cast_expression "(undefined2 *)(piVar4 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 2)" ( (binary_expression "piVar4 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" identifier = (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" * (cast_expression "(undefined2 *)(piVar4 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 3)" ( (binary_expression "piVar4 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0xe)" ( (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" * (cast_expression "(ushort *)((int)piVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 2)" ( (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" * (cast_expression "(ushort *)(piVar4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 1)" ( (binary_expression "piVar4 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" ( (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar1 >> 0x1e)" ( (binary_expression "uVar1 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" * (cast_expression "(ushort *)((int)piVar4 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 6)" ( (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" ( (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1) >> 8)" ( (binary_expression "(uVar8 >> 1) >> 8" (parenthesized_expression "(uVar8 >> 1)" ( (binary_expression "uVar8 >> 1" identifier >> number_literal) )) >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" * (cast_expression "(ushort *)((int)piVar4 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 10)" ( (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 & 0xff | 1) << 8)" ( (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" ( (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (piVar9 == piVar7) {\n                  return;\n                }" if (parenthesized_expression "(piVar9 == piVar7)" ( (binary_expression "piVar9 == piVar7" identifier == identifier) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" identifier = (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" ( (binary_expression "uVar8 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (pointer_expression "*piVar4" * identifier) = (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" ( (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" ( (binary_expression "uVar1 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" ( (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" ( (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a9c" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3350" identifier + number_literal) ))) ;) })) (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" identifier = number_literal) ;) (expression_statement "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar11 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar6 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar6 + 0x20) << 2" (pointer_expression "*(int *)(puVar6 + 0x20)" * (cast_expression "(int *)(puVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x20)" ( (binary_expression "puVar6 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" { (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a3c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = *(int *)(puVar6 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar6 + 0x1c)" * (cast_expression "(int *)(puVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1c)" ( (binary_expression "puVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar6 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(puVar6 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar6 + 0x20) << 1" (pointer_expression "*(int *)(puVar6 + 0x20)" * (cast_expression "(int *)(puVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x20)" ( (binary_expression "puVar6 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" { (if_statement "if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(puVar6 + 0x10) == 0)" ( (binary_expression "*(int *)(puVar6 + 0x10) == 0" (pointer_expression "*(int *)(puVar6 + 0x10)" * (cast_expression "(int *)(puVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x10)" ( (binary_expression "puVar6 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" { (expression_statement "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;" (assignment_expression "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2" identifier = (binary_expression "*(uint *)(puVar6 + 0x14) + iVar2" (pointer_expression "*(uint *)(puVar6 + 0x14)" * (cast_expression "(uint *)(puVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x14)" ( (binary_expression "puVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(puVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(puVar6 + 0x18)" * (cast_expression "(int *)(puVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x18)" ( (binary_expression "puVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" { (expression_statement "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);" (assignment_expression "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" identifier = (binary_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < *(uint *)(puVar6 + 0x14))" ( (binary_expression "uVar8 < *(uint *)(puVar6 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar6 + 0x14)" * (cast_expression "(uint *)(puVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x14)" ( (binary_expression "puVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(puVar6 + 0x18)" * (cast_expression "(int *)(puVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x18)" ( (binary_expression "puVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" if (parenthesized_expression "((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))))" ( (binary_expression "(iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(iVar10 + 8))" ( (binary_expression "iVar3 <= *(int *)(iVar10 + 8)" identifier <= (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar3" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar8 <= *(uint *)(iVar10 + 0xc))" ( (binary_expression "uVar8 <= *(uint *)(iVar10 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar10 + 0xc)" * (cast_expression "(uint *)(iVar10 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" { (expression_statement "piVar9 = *(int **)(puVar6 + 0x34);" (assignment_expression "piVar9 = *(int **)(puVar6 + 0x34)" identifier = (pointer_expression "*(int **)(puVar6 + 0x34)" * (cast_expression "(int **)(puVar6 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x34)" ( (binary_expression "puVar6 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = *(int **)(puVar6 + 0x30);" (assignment_expression "piVar7 = *(int **)(puVar6 + 0x30)" identifier = (pointer_expression "*(int **)(puVar6 + 0x30)" * (cast_expression "(int **)(puVar6 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x30)" ( (binary_expression "puVar6 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x10)" identifier = (pointer_expression "*(int *)(iVar10 + 0x10)" * (cast_expression "(int *)(iVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );" do (compound_statement "{\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          }" { (if_statement "if (piVar7 == piVar9) {\n              return;\n            }" if (parenthesized_expression "(piVar7 == piVar9)" ( (binary_expression "piVar7 == piVar9" identifier == identifier) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" { (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x30);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x30)" * (cast_expression "(uint *)(iVar3 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));" (assignment_expression "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" identifier = (cast_expression "(int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" ( (binary_expression "iVar10 + iVar2 + *(int *)(iVar3 + 0x3c)" (binary_expression "iVar10 + iVar2" identifier + identifier) + (pointer_expression "*(int *)(iVar3 + 0x3c)" * (cast_expression "(int *)(iVar3 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) ))))) )))) ;) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" if (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" ( (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" ( (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" * (cast_expression "(ushort *)(iVar3 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" * (cast_expression "(undefined2 *)piVar4" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" identifier = (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" * (cast_expression "(undefined2 *)(piVar4 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 2)" ( (binary_expression "piVar4 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" identifier = (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" * (cast_expression "(undefined2 *)(piVar4 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 3)" ( (binary_expression "piVar4 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0xe)" ( (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" * (cast_expression "(ushort *)((int)piVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 2)" ( (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" * (cast_expression "(ushort *)(piVar4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 1)" ( (binary_expression "piVar4 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" ( (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar1 >> 0x1e)" ( (binary_expression "uVar1 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" * (cast_expression "(ushort *)((int)piVar4 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 6)" ( (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" ( (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)(uVar8 >> 9)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 9)" ( (binary_expression "uVar8 >> 9" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" * (cast_expression "(ushort *)((int)piVar4 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 10)" ( (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 & 0xff | 1) << 8)" ( (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" ( (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (piVar9 == piVar7) {\n                return;\n              }" if (parenthesized_expression "(piVar9 == piVar7)" ( (binary_expression "piVar9 == piVar7" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" identifier = (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" ( (binary_expression "uVar8 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (pointer_expression "*piVar4" * identifier) = (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" ( (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" ( (binary_expression "uVar1 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" ( (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" ( (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x4584" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a9c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3350" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void do_write(Mips_output_data_la25_stub<64,_false> * this, Output_file\n   * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_29466b::Mips_output_data_la25_stub<64,_false>::do_write\n          (Mips_output_data_la25_stub<64,_false> *this,Output_file *of)\n\n{\n  char cVar1;\n  ushort uVar2;\n  off_t oVar3;\n  int iVar4;\n  Mips_symbol<64> *pMVar5;\n  int iVar6;\n  undefined4 uVar7;\n  ushort *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  int *piVar11;\n  uint uVar12;\n  Output_file *pOVar13;\n  char *pcVar14;\n  Target_mips<64,_false> *this_00;\n  size_t sVar15;\n  char *pcVar16;\n  pointer ppVar17;\n  Output_file *pOVar18;\n  pointer ppMVar19;\n  Output_file *pOVar20;\n  ushort *puVar21;\n  uint uVar22;\n  pointer ppMVar23;\n  uint uVar24;\n  int *piVar25;\n  uchar *puVar26;\n  int iVar27;\n  undefined *puVar28;\n  code *pcVar29;\n  code *pcVar30;\n  undefined4 in_stack_fffffed4;\n  undefined4 in_stack_fffffef4;\n  undefined4 in_stack_ffffff1c;\n  undefined4 in_stack_ffffff3c;\n  undefined4 in_stack_ffffff64;\n  undefined4 in_stack_ffffff84;\n  undefined4 in_stack_ffffffa4;\n  undefined4 in_stack_ffffffcc;\n  undefined4 in_stack_ffffffec;\n  \n  iVar4 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;\n  if (iVar4 << 2 < 0) {\n    pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_;\n    iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_;\n    if (iVar4 << 1 < 0) {\n      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  sVar15 = 0xe3;\n  pOVar18 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  puVar28 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar18,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    iVar4 = pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }\n      (**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);\n    }\n    (**(code **)(puVar28 + 0x3eb104))\n              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar29 = *(code **)(puVar28 + 0x3eb104);\n  pOVar18 = (Output_file *)(*(int *)(puVar28 + 0x3ea950) + 0x3574);\n  (*pcVar29)(pOVar18,0xe3,*(int *)(puVar28 + 0x3eb124) + -0x3a3c);\n  pcVar30 = pcVar29 + 0x3f2734;\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);\n    }\n    (**(code **)(pcVar29 + 0x3eaf24))\n              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar30 = *(code **)(pcVar29 + 0x3eaf24);\n  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea770) + 0x3574);\n  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c);\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar30 + 0x3ead54))\n              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar29 = *(code **)(pcVar30 + 0x3ead54);\n  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574);\n  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ead74) + -0x3a3c);\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3eabf0))\n              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar30 = *(code **)(pcVar29 + 0x3eabf0);\n  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea43c) + 0x3574);\n  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eac10) + -0x3a3c);\n  pcVar29 = pcVar30 + 0x3f229c;\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3eaa8c))\n              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar29 = *(code **)(pcVar30 + 0x3eaa8c);\n  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574);\n  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c);\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea8b8))\n              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar30 = *(code **)(pcVar29 + 0x3ea8b8);\n  pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea104) + 0x3574);\n  (*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c);\n  pcVar29 = pcVar30 + 0x3f1f74;\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3ea764))\n              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350);\n  }\n  sVar15 = 0xe3;\n  pcVar29 = *(code **)(pcVar30 + 0x3ea764);\n  pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574);\n  (*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ea784) + -0x3a3c);\n  if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea580))\n              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350);\n  }\n  pcVar30 = *(code **)(pcVar29 + 0x3ea580);\n  (*pcVar30)(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c);\n  pcVar29 = *(code **)(pcVar30 + 0x3ea3cc);\n  iVar4 = *(int *)(pcVar30 + 0x3e9c18) + 0x3574;\n  (*pcVar29)(iVar4,0xc5,*(int *)(pcVar30 + 0x3ea3ec) + -0x3478);\n  if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar30 = *(code **)(pcVar29 + 0x3ea398);\n  (*pcVar30)(*(int *)(pcVar29 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea3b8) + -0x3350);\n  pcVar29 = *(code **)(pcVar30 + 0x3ea338);\n  iVar4 = *(int *)(pcVar30 + 0x3e9b84) + 0x3574;\n  (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea358) + -0x3350);\n  if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar30 = *(code **)(pcVar29 + 0x3ea304);\n  iVar4 = *(int *)(pcVar29 + 0x3e9b50) + 0x3574;\n  (*pcVar30)(iVar4,0xcf,*(int *)(pcVar29 + 0x3ea324) + -0x3350);\n  if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }\n  if (-1 < *(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1) {\n    pcVar29 = *(code **)(pcVar30 + 0x3ea2a4);\n    iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574;\n    (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350);\n    if (*(int *)(iVar4 + 0x14) == 0) {\n      return;\n    }\n    if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n      return;\n    }\n    pcVar30 = *(code **)(pcVar29 + 0x3ea244);\n    (*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350);\n    this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574);\n    (**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc);\n    ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n              ._M_impl._M_start;\n    if (*(char *)&ppVar17[1].second == '\0') {\n      Target_mips<64,_false>::is_output_micromips(this_00);\n      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n    }\n    iVar4 = 0x10;\n    if ((int)(ppVar17[1].first << 6) < 0) {\n      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }\n    }\n    else {\n      iVar4 = 0x14;\n    }\n    if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n      this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);\n      *(undefined4 *)&this_00->field_0x10 = 0;\n      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_29466b::Mips_output_data_la25_stub<64,_false>::do_write\n          (Mips_output_data_la25_stub<64,_false> *this,Output_file *of)\n\n{\n  char cVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_29466b::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_write\n          (Mips_output_data_la25_stub<64,_false> *this,Output_file *of)\n\n{\n  char" identifier > : : (function_declarator "do_write\n          (Mips_output_data_la25_stub<64,_false> *this,Output_file *of)" identifier (parameter_list "(Mips_output_data_la25_stub<64,_false> *this,Output_file *of)" ( (parameter_declaration "Mips_output_data_la25_stub" 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)) ))) { primitive_type) identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "off_t oVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "Mips_symbol<64> *pMVar5;" (update_expression "Mips_symbol<64> *pMVar5" (binary_expression "Mips_symbol<64> *pMVar5" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*pMVar5" * identifier)) --) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "ushort *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "Output_file *pOVar13;" type_identifier (pointer_declarator "*pOVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (expression_statement "Target_mips<64,_false> *this_00;" (update_expression "Target_mips<64,_false> *this_00" (binary_expression "Target_mips<64,_false> *this_00" (binary_expression "Target_mips<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "pointer ppVar17;" type_identifier identifier ;) (declaration "Output_file *pOVar18;" type_identifier (pointer_declarator "*pOVar18" * identifier) ;) (declaration "pointer ppMVar19;" type_identifier identifier ;) (declaration "Output_file *pOVar20;" type_identifier (pointer_declarator "*pOVar20" * identifier) ;) (declaration "ushort *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "pointer ppMVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uchar *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "undefined4 in_stack_fffffed4;" type_identifier identifier ;) (declaration "undefined4 in_stack_fffffef4;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff1c;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff3c;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff64;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff84;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffa4;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffcc;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffec;" type_identifier identifier ;) (expression_statement "iVar4 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;" (assignment_expression "iVar4 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" * (cast_expression "(int *)&(this->super_Output_section_data).super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.field_0x20" & (field_expression "(this->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (if_statement "if (iVar4 << 2 < 0) {\n    pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_;\n    iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_;\n    if (iVar4 << 1 < 0) {\n      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" if (parenthesized_expression "(iVar4 << 2 < 0)" ( (binary_expression "iVar4 << 2 < 0" (binary_expression "iVar4 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n    pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_;\n    iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_;\n    if (iVar4 << 1 < 0) {\n      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" { (expression_statement "pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "pOVar18 = *(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_" identifier = (pointer_expression "*(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_" * (cast_expression "(Output_file **)&(this->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.offset_" & (field_expression "(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_;" (assignment_expression "iVar27 = (int)(this->super_Output_section_data).super_Output_data.offset_" identifier = (cast_expression "(int)(this->super_Output_section_data).super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Output_section_data).super_Output_data.offset_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (if_statement "if (iVar4 << 1 < 0) {\n      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" if (parenthesized_expression "(iVar4 << 1 < 0)" ( (binary_expression "iVar4 << 1 < 0" (binary_expression "iVar4 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" { (expression_statement "uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_;" (assignment_expression "uVar24 = (uint)(this->super_Output_section_data).super_Output_data.data_size_" identifier = (field_expression "(uint)(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(uint)(this->super_Output_section_data).super_Output_data" (call_expression "(uint)(this->super_Output_section_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (if_statement "if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }" if (parenthesized_expression "(*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0)" ( (binary_expression "*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0" (pointer_expression "*(int *)&(this->super_Output_section_data).super_Output_data.data_size_" * (cast_expression "(int *)&(this->super_Output_section_data).super_Output_data.data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section_data).super_Output_data.data_size_" & (field_expression "(this->super_Output_section_data).super_Output_data.data_size_" (field_expression "(this->super_Output_section_data).super_Output_data" (parenthesized_expression "(this->super_Output_section_data)" ( (field_expression "this->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) == number_literal) )) (compound_statement "{\n        uVar22 = uVar24 + iVar27;\n        if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);\n      }" { (expression_statement "uVar22 = uVar24 + iVar27;" (assignment_expression "uVar22 = uVar24 + iVar27" identifier = (binary_expression "uVar24 + iVar27" identifier + identifier)) ;) (if_statement "if (-1 < (int)pOVar18) {\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar18)" ( (binary_expression "-1 < (int)pOVar18" number_literal < (cast_expression "(int)pOVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);\n          pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);\n          if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" { (expression_statement "iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24);" (assignment_expression "iVar4 = (int)&pOVar18->name_ + (uint)(uVar22 < uVar24)" identifier = (binary_expression "(int)&pOVar18->name_ + (uint)(uVar22 < uVar24)" (cast_expression "(int)&pOVar18->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar18->name_" & (field_expression "pOVar18->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar22 < uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar24)" ( (binary_expression "uVar22 < uVar24" identifier < identifier) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4);" (assignment_expression "pOVar18 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar4)" identifier = (cast_expression "(Output_file *)(uint)(*(int *)&of->file_size_ < iVar4)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)&of->file_size_ < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)&of->file_size_ < iVar4)" ( (binary_expression "*(int *)&of->file_size_ < iVar4" (pointer_expression "*(int *)&of->file_size_" * (cast_expression "(int *)&of->file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) < identifier) ))))) ;) (if_statement "if ((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))) {\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" if (parenthesized_expression "((pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_))))" ( (binary_expression "(pOVar18 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))" (parenthesized_expression "(pOVar18 == (Output_file *)0x0)" ( (binary_expression "pOVar18 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)))" ( (parenthesized_expression "(*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_))" ( (binary_expression "*(int *)&of->file_size_ != iVar4 || (uVar22 <= (uint)of->file_size_)" (binary_expression "*(int *)&of->file_size_ != iVar4" (pointer_expression "*(int *)&of->file_size_" * (cast_expression "(int *)&of->file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) != identifier) || (parenthesized_expression "(uVar22 <= (uint)of->file_size_)" ( (binary_expression "uVar22 <= (uint)of->file_size_" identifier <= (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier))) ))) )) ))) )) (compound_statement "{\n            ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_finish;\n            ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl._M_start;\n            puVar26 = of->base_;\n            do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" { (expression_statement "ppMVar23 = (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 "ppMVar23 = (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 "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl" (binary_expression "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_" (binary_expression "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64" (binary_expression "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std" (binary_expression "ppMVar23 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64" (assignment_expression "ppMVar23 = (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 "ppMVar19 = (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 "ppMVar19 = (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 "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                       ._M_impl" (binary_expression "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_" (binary_expression "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64" (binary_expression "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64>*,_std" (binary_expression "ppMVar19 = (this->symbols_).\n                       super__Vector_base<(anonymous_namespace)::Mips_symbol<64" (assignment_expression "ppMVar19 = (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 "puVar26 = of->base_;" (assignment_expression "puVar26 = of->base_" identifier = (field_expression "of->base_" identifier -> field_identifier)) ;) (do_statement "do {\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );" do (compound_statement "{\n              if (ppMVar19 == ppMVar23) {\n                return;\n              }\n              while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }\n              piVar10[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              ppMVar19 = ppMVar19 + 1;\n              piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            }" { (if_statement "if (ppMVar19 == ppMVar23) {\n                return;\n              }" if (parenthesized_expression "(ppMVar19 == ppMVar23)" ( (binary_expression "ppMVar19 == ppMVar23" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                pMVar5 = *ppMVar19;\n                uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;\n                piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);\n                if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;\n                *(undefined2 *)piVar10 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar10 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar10 + 3) = 0;\n                *(undefined2 *)((int)piVar10 + 0xe) = 0;\n                *(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                ppMVar19 = ppMVar19 + 1;\n                *(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (ppMVar23 == ppMVar19) {\n                  return;\n                }\n              }" { (expression_statement "pMVar5 = *ppMVar19;" (assignment_expression "pMVar5 = *ppMVar19" identifier = (pointer_expression "*ppMVar19" * identifier)) ;) (expression_statement "uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_;" (assignment_expression "uVar24 = (uint)(pMVar5->super_Sized_symbol<64>).value_" identifier = (field_expression "(uint)(pMVar5->super_Sized_symbol<64>).value_" (call_expression "(uint)(pMVar5->super_Sized_symbol<64>)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pMVar5->super_Sized_symbol<64>)" ( (binary_expression "pMVar5->super_Sized_symbol<64>" (binary_expression "pMVar5->super_Sized_symbol<64" (field_expression "pMVar5->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) ))) . field_identifier)) ;) (expression_statement "piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_);" (assignment_expression "piVar10 = (int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_)" identifier = (cast_expression "(int *)(puVar26 + iVar27 + pMVar5->la25_stub_offset_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + iVar27 + pMVar5->la25_stub_offset_)" ( (binary_expression "puVar26 + iVar27 + pMVar5->la25_stub_offset_" (binary_expression "puVar26 + iVar27" identifier + identifier) + (field_expression "pMVar5->la25_stub_offset_" identifier -> field_identifier)) )))) ;) (if_statement "if ((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20) break;" if (parenthesized_expression "((*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20)" ( (binary_expression "(*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30) !=\n                    0x20" (parenthesized_expression "(*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30)" ( (binary_expression "*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28 & 0x30" (pointer_expression "*(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28" * (cast_expression "(ushort *)&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28" & (field_expression "(pMVar5->super_Sized_symbol<64>).super_Symbol.field_0x28" (field_expression "(pMVar5->super_Sized_symbol<64>).super_Symbol" (parenthesized_expression "(pMVar5->super_Sized_symbol<64>)" ( (binary_expression "pMVar5->super_Sized_symbol<64>" (binary_expression "pMVar5->super_Sized_symbol<64" (field_expression "pMVar5->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier)))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar10 = 0xb941;" (assignment_expression "*(undefined2 *)piVar10 = 0xb941" (pointer_expression "*(undefined2 *)piVar10" * (cast_expression "(undefined2 *)piVar10" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar12 = (uVar24 | 1) + 0x8000;" (assignment_expression "uVar12 = (uVar24 | 1) + 0x8000" identifier = (binary_expression "(uVar24 | 1) + 0x8000" (parenthesized_expression "(uVar24 | 1)" ( (binary_expression "uVar24 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar10 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar10 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar10 + 2)" * (cast_expression "(undefined2 *)(piVar10 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 2)" ( (binary_expression "piVar10 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = (uVar24 | 1) << 5;" (assignment_expression "uVar22 = (uVar24 | 1) << 5" identifier = (binary_expression "(uVar24 | 1) << 5" (parenthesized_expression "(uVar24 | 1)" ( (binary_expression "uVar24 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar10 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar10 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar10 + 3)" * (cast_expression "(undefined2 *)(piVar10 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 3)" ( (binary_expression "piVar10 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar10 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar10 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar10 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar10 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 0xe)" ( (binary_expression "(int)piVar10 + 0xe" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar10 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar10 + 2)" * (cast_expression "(ushort *)((int)piVar10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 2)" ( (binary_expression "(int)piVar10 + 2" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18)" (call_expression "(ushort)((uVar12 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar12 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar12 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar12 >> 0x10 & 0xff)" ( (binary_expression "uVar12 >> 0x10 & 0xff" (binary_expression "uVar12 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar12 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar10 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar10 + 1)" * (cast_expression "(ushort *)(piVar10 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10 + 1)" ( (binary_expression "piVar10 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e)" (call_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar22 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar22 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar22 >> 0x16 & 0xff)" ( (binary_expression "uVar22 >> 0x16 & 0xff" (binary_expression "uVar22 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar22 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar22 >> 0x1e)" ( (binary_expression "uVar22 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "ppMVar19 = ppMVar19 + 1;" (assignment_expression "ppMVar19 = ppMVar19 + 1" identifier = (binary_expression "ppMVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar10 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar10 + 6)" * (cast_expression "(ushort *)((int)piVar10 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 6)" ( (binary_expression "(int)piVar10 + 6" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)((uVar24 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar24 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar24 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar24 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar24 >> 1 & 0xff)" ( (binary_expression "uVar24 >> 1 & 0xff" (binary_expression "uVar24 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)((uVar24 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar24 >> 1) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar24 >> 1) >> 8)" ( (binary_expression "(uVar24 >> 1) >> 8" (parenthesized_expression "(uVar24 >> 1)" ( (binary_expression "uVar24 >> 1" identifier >> number_literal) )) >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar10 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar10 + 10)" * (cast_expression "(ushort *)((int)piVar10 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar10 + 10)" ( (binary_expression "(int)piVar10 + 10" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff" (call_expression "(ushort)((uVar24 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar24 & 0xff | 1) << 8)" ( (binary_expression "(uVar24 & 0xff | 1) << 8" (parenthesized_expression "(uVar24 & 0xff | 1)" ( (binary_expression "uVar24 & 0xff | 1" (binary_expression "uVar24 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar24 >> 8) & 0xff" (call_expression "(ushort)(uVar24 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar24 >> 8)" ( (binary_expression "uVar24 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (ppMVar23 == ppMVar19) {\n                  return;\n                }" if (parenthesized_expression "(ppMVar23 == ppMVar19)" ( (binary_expression "ppMVar23 == ppMVar19" identifier == identifier) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar10[3] = 0;" (assignment_expression "piVar10[3] = 0" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar22 = (uVar24 << 4) >> 6;" (assignment_expression "uVar22 = (uVar24 << 4) >> 6" identifier = (binary_expression "(uVar24 << 4) >> 6" (parenthesized_expression "(uVar24 << 4)" ( (binary_expression "uVar24 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;" (assignment_expression "*piVar10 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c" (pointer_expression "*piVar10" * identifier) = (binary_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c" (binary_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18)" ( (binary_expression "(uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18" (binary_expression "(uVar24 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar24 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar24 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar24 + 0x8000 >> 0x10" (binary_expression "uVar24 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar24 + 0x8000 >> 0x18" (binary_expression "uVar24 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "ppMVar19 = ppMVar19 + 1;" (assignment_expression "ppMVar19 = ppMVar19 + 1" identifier = (binary_expression "ppMVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar10[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar22 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar22 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar22 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar22 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar22 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar22 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar22 | 0x8000000)" ( (binary_expression "uVar22 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8)" ( (binary_expression "(uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar22 & 0xff00) >> 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar10[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8)" ( (binary_expression "(uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar24 & 0xff00) >> 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18);" (call_expression "get_output_view\n                  ((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18)" identifier (argument_list "((Output_file *)this,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar18)" ( (cast_expression "(Output_file *)this" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(0x4c9240,in_stack_ffffffec)" identifier (argument_list "(0x4c9240,in_stack_ffffffec)" ( number_literal , identifier ))) , (cast_expression "(size_t)of" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier ))) ;))) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a9c" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3350" identifier + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pOVar18 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" identifier = (cast_expression "(Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) )))) ;) (expression_statement "puVar28 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar28 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar18,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar18,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar18,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    iVar4 = pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }\n      (**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);\n    }\n    (**(code **)(puVar28 + 0x3eb104))\n              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    iVar4 = pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }\n      (**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);\n    }\n    (**(code **)(puVar28 + 0x3eb104))\n              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].name_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].name_" identifier = (cast_expression "(Output_file *)pOVar18[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar4 = pOVar18[1].o_;" (assignment_expression "iVar4 = pOVar18[1].o_" identifier = (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }\n      (**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }\n      (**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);\n    }" { (if_statement "if (pOVar18->base_ == (uchar *)0x0) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }" if (parenthesized_expression "(pOVar18->base_ == (uchar *)0x0)" ( (binary_expression "pOVar18->base_ == (uchar *)0x0" (field_expression "pOVar18->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;\n        if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);\n      }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + iVar4" identifier = (binary_expression "*(uint *)&pOVar18->map_is_anonymous_ + iVar4" (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier)))) + identifier)) ;) (if_statement "if (-1 < (int)pOVar20) {\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar20)" ( (binary_expression "-1 < (int)pOVar20" number_literal < (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n          pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n          if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" { (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (binary_expression "(int)&pOVar20->name_ +\n                            (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" ( (binary_expression "uVar24 < *(uint *)&pOVar18->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);" (assignment_expression "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (binary_expression "(int)*(char **)(sVar15 + 8) < (int)pcVar14" (cast_expression "(int)*(char **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" if (parenthesized_expression "((pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "(pOVar20 == (Output_file *)0x0) &&\n             ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "(pOVar20 == (Output_file *)0x0)" ( (binary_expression "pOVar20 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(char **)(sVar15 + 8) != pcVar14" (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar24 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar24 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            piVar25 = (int *)pOVar18[2].o_;\n            piVar10 = (int *)pOVar18[2].name_;\n            iVar27 = *(int *)(sVar15 + 0x10);\n            do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" { (expression_statement "piVar25 = (int *)pOVar18[2].o_;" (assignment_expression "piVar25 = (int *)pOVar18[2].o_" identifier = (cast_expression "(int *)pOVar18[2].o_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[2].o_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "piVar10 = (int *)pOVar18[2].name_;" (assignment_expression "piVar10 = (int *)pOVar18[2].name_" identifier = (cast_expression "(int *)pOVar18[2].name_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar27 = *(int *)(sVar15 + 0x10);" (assignment_expression "iVar27 = *(int *)(sVar15 + 0x10)" identifier = (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );" do (compound_statement "{\n              if (piVar10 == piVar25) {\n                return;\n              }\n              while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }\n              piVar11[3] = 0;\n              uVar22 = (uVar24 << 4) >> 6;\n              *piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;\n              piVar10 = piVar10 + 1;\n              piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;\n              piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            }" { (if_statement "if (piVar10 == piVar25) {\n                return;\n              }" if (parenthesized_expression "(piVar10 == piVar25)" ( (binary_expression "piVar10 == piVar25" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar6 = *piVar10;\n                uVar24 = *(uint *)(iVar6 + 0x30);\n                piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));\n                if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar11 = 0xb941;\n                uVar12 = (uVar24 | 1) + 0x8000;\n                *(undefined2 *)(piVar11 + 2) = 0x3933;\n                uVar22 = (uVar24 | 1) << 5;\n                *(undefined2 *)(piVar11 + 3) = 0;\n                *(undefined2 *)((int)piVar11 + 0xe) = 0;\n                *(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);\n                *(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;\n                piVar10 = piVar10 + 1;\n                *(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;\n                *(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;\n                if (piVar25 == piVar10) {\n                  return;\n                }\n              }" { (expression_statement "iVar6 = *piVar10;" (assignment_expression "iVar6 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar24 = *(uint *)(iVar6 + 0x30);" (assignment_expression "uVar24 = *(uint *)(iVar6 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x30)" * (cast_expression "(uint *)(iVar6 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x30)" ( (binary_expression "iVar6 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c));" (assignment_expression "piVar11 = (int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c))" identifier = (cast_expression "(int *)(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + iVar4 + *(int *)(iVar6 + 0x3c))" ( (binary_expression "iVar27 + iVar4 + *(int *)(iVar6 + 0x3c)" (binary_expression "iVar27 + iVar4" identifier + identifier) + (pointer_expression "*(int *)(iVar6 + 0x3c)" * (cast_expression "(int *)(iVar6 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) ))))) )))) ;) (if_statement "if ((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20) break;" if (parenthesized_expression "((*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20)" ( (binary_expression "(*(ushort *)(iVar6 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar6 + 0x28) & 0x30)" ( (binary_expression "*(ushort *)(iVar6 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar6 + 0x28)" * (cast_expression "(ushort *)(iVar6 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x28)" ( (binary_expression "iVar6 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar11 = 0xb941;" (assignment_expression "*(undefined2 *)piVar11 = 0xb941" (pointer_expression "*(undefined2 *)piVar11" * (cast_expression "(undefined2 *)piVar11" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar12 = (uVar24 | 1) + 0x8000;" (assignment_expression "uVar12 = (uVar24 | 1) + 0x8000" identifier = (binary_expression "(uVar24 | 1) + 0x8000" (parenthesized_expression "(uVar24 | 1)" ( (binary_expression "uVar24 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar11 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar11 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar11 + 2)" * (cast_expression "(undefined2 *)(piVar11 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 2)" ( (binary_expression "piVar11 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = (uVar24 | 1) << 5;" (assignment_expression "uVar22 = (uVar24 | 1) << 5" identifier = (binary_expression "(uVar24 | 1) << 5" (parenthesized_expression "(uVar24 | 1)" ( (binary_expression "uVar24 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar11 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar11 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar11 + 3)" * (cast_expression "(undefined2 *)(piVar11 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 3)" ( (binary_expression "piVar11 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar11 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar11 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar11 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar11 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 0xe)" ( (binary_expression "(int)piVar11 + 0xe" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar11 + 2) =\n                     (ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar11 + 2)" * (cast_expression "(ushort *)((int)piVar11 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 2)" ( (binary_expression "(int)piVar11 + 2" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar12 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar12 >> 0x18)" (call_expression "(ushort)((uVar12 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar12 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar12 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar12 >> 0x10 & 0xff)" ( (binary_expression "uVar12 >> 0x10 & 0xff" (binary_expression "uVar12 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar12 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar11 + 1) =\n                     (ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar11 + 1)" * (cast_expression "(ushort *)(piVar11 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8) | (ushort)(uVar22 >> 0x1e)" (call_expression "(ushort)((uVar22 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar22 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar22 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar22 >> 0x16 & 0xff)" ( (binary_expression "uVar22 >> 0x16 & 0xff" (binary_expression "uVar22 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar22 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar22 >> 0x1e)" ( (binary_expression "uVar22 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff;" (assignment_expression "*(ushort *)((int)piVar11 + 6) =\n                     (ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff" (pointer_expression "*(ushort *)((int)piVar11 + 6)" * (cast_expression "(ushort *)((int)piVar11 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 6)" ( (binary_expression "(int)piVar11 + 6" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar24 >> 1 & 0xff) << 8) | (ushort)(uVar24 >> 9) & 0xff" (call_expression "(ushort)((uVar24 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar24 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar24 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar24 >> 1 & 0xff)" ( (binary_expression "uVar24 >> 1 & 0xff" (binary_expression "uVar24 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar24 >> 9) & 0xff" (call_expression "(ushort)(uVar24 >> 9)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar24 >> 9)" ( (binary_expression "uVar24 >> 9" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar11 + 10) =\n                     (ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar11 + 10)" * (cast_expression "(ushort *)((int)piVar11 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar11 + 10)" ( (binary_expression "(int)piVar11 + 10" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar24 & 0xff | 1) << 8) | (ushort)(uVar24 >> 8) & 0xff" (call_expression "(ushort)((uVar24 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar24 & 0xff | 1) << 8)" ( (binary_expression "(uVar24 & 0xff | 1) << 8" (parenthesized_expression "(uVar24 & 0xff | 1)" ( (binary_expression "uVar24 & 0xff | 1" (binary_expression "uVar24 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar24 >> 8) & 0xff" (call_expression "(ushort)(uVar24 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar24 >> 8)" ( (binary_expression "uVar24 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (piVar25 == piVar10) {\n                  return;\n                }" if (parenthesized_expression "(piVar25 == piVar10)" ( (binary_expression "piVar25 == piVar10" identifier == identifier) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar11[3] = 0;" (assignment_expression "piVar11[3] = 0" (subscript_expression "piVar11[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar22 = (uVar24 << 4) >> 6;" (assignment_expression "uVar22 = (uVar24 << 4) >> 6" identifier = (binary_expression "(uVar24 << 4) >> 6" (parenthesized_expression "(uVar24 << 4)" ( (binary_expression "uVar24 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c;" (assignment_expression "*piVar11 = ((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c" (pointer_expression "*piVar11" * identifier) = (binary_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000\n                         + 0x193c" (binary_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18)" ( (binary_expression "(uVar24 + 0x8000 >> 0x10 & 0xff) << 8 | uVar24 + 0x8000 >> 0x18" (binary_expression "(uVar24 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar24 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar24 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar24 + 0x8000 >> 0x10" (binary_expression "uVar24 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar24 + 0x8000 >> 0x18" (binary_expression "uVar24 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar11[1] = ((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (binary_expression "((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar22 & 0xff0000) >> 0x10) << 0x18 |\n                            ((uVar22 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar22 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar22 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar22 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar22 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar22 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar22 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar22 | 0x8000000)" ( (binary_expression "uVar22 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8)" ( (binary_expression "(uVar22 & 0xff) << 8 | (uVar22 & 0xff00) >> 8" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar22 & 0xff00) >> 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar11[2] = ((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = (binary_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8)" ( (binary_expression "(uVar24 & 0xff) << 8 | (uVar24 & 0xff00) >> 8" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar24 & 0xff00) >> 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20);" (call_expression "get_output_view\n                  (pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20)" identifier (argument_list "(pOVar18,CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(puVar28 + 0x3f2914,in_stack_ffffffcc)" identifier (argument_list "(puVar28 + 0x3f2914,in_stack_ffffffcc)" ( (binary_expression "puVar28 + 0x3f2914" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c);" (call_expression "(**(code **)(puVar28 + 0x3eb104))\n                (*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c)" (parenthesized_expression "(**(code **)(puVar28 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar28 + 0x3eb104)" * (pointer_expression "*(code **)(puVar28 + 0x3eb104)" * (cast_expression "(code **)(puVar28 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x3eb104)" ( (binary_expression "puVar28 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar28 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar28 + 0x3eb124) + -0x3a9c)" ( (binary_expression "*(int *)(puVar28 + 0x3ea950) + 0x4584" (pointer_expression "*(int *)(puVar28 + 0x3ea950)" * (cast_expression "(int *)(puVar28 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3ea950)" ( (binary_expression "puVar28 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar28 + 0x3eb124) + -0x3a9c" (pointer_expression "*(int *)(puVar28 + 0x3eb124)" * (cast_expression "(int *)(puVar28 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3eb124)" ( (binary_expression "puVar28 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar28 + 0x3eb104))\n              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350);" (call_expression "(**(code **)(puVar28 + 0x3eb104))\n              (*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350)" (parenthesized_expression "(**(code **)(puVar28 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar28 + 0x3eb104)" * (pointer_expression "*(code **)(puVar28 + 0x3eb104)" * (cast_expression "(code **)(puVar28 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x3eb104)" ( (binary_expression "puVar28 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar28 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar28 + 0x3eb124) + -0x3350)" ( (binary_expression "*(int *)(puVar28 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar28 + 0x3ea950)" * (cast_expression "(int *)(puVar28 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3ea950)" ( (binary_expression "puVar28 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar28 + 0x3eb124) + -0x3350" (pointer_expression "*(int *)(puVar28 + 0x3eb124)" * (cast_expression "(int *)(puVar28 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3eb124)" ( (binary_expression "puVar28 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar29 = *(code **)(puVar28 + 0x3eb104);" (assignment_expression "pcVar29 = *(code **)(puVar28 + 0x3eb104)" identifier = (pointer_expression "*(code **)(puVar28 + 0x3eb104)" * (cast_expression "(code **)(puVar28 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x3eb104)" ( (binary_expression "puVar28 + 0x3eb104" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(puVar28 + 0x3ea950) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(puVar28 + 0x3ea950) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(puVar28 + 0x3ea950) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar28 + 0x3ea950) + 0x3574)" ( (binary_expression "*(int *)(puVar28 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar28 + 0x3ea950)" * (cast_expression "(int *)(puVar28 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3ea950)" ( (binary_expression "puVar28 + 0x3ea950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar29)(pOVar18,0xe3,*(int *)(puVar28 + 0x3eb124) + -0x3a3c);" (call_expression "(*pcVar29)(pOVar18,0xe3,*(int *)(puVar28 + 0x3eb124) + -0x3a3c)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(puVar28 + 0x3eb124) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(puVar28 + 0x3eb124) + -0x3a3c" (pointer_expression "*(int *)(puVar28 + 0x3eb124)" * (cast_expression "(int *)(puVar28 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x3eb124)" ( (binary_expression "puVar28 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar30 = pcVar29 + 0x3f2734;" (assignment_expression "pcVar30 = pcVar29 + 0x3f2734" identifier = (binary_expression "pcVar29 + 0x3f2734" identifier + number_literal)) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);\n    }\n    (**(code **)(pcVar29 + 0x3eaf24))\n              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);\n    }\n    (**(code **)(pcVar29 + 0x3eaf24))\n              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].o_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].o_" identifier = (cast_expression "(Output_file *)pOVar18[1].o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);\n    }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_" identifier = (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) ;) (if_statement "if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }" if (parenthesized_expression "(pOVar18->base_ == (uchar *)0x0)" ( (binary_expression "pOVar18->base_ == (uchar *)0x0" (field_expression "pOVar18->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);\n      }" { (expression_statement "uVar22 = (int)&pOVar20->name_ + uVar24;" (assignment_expression "uVar22 = (int)&pOVar20->name_ + uVar24" identifier = (binary_expression "(int)&pOVar20->name_ + uVar24" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar13 = pOVar18;" (assignment_expression "pOVar13 = pOVar18" identifier = identifier) ;) (if_statement "if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar18[1].name_)" ( (binary_expression "-1 < (int)pOVar18[1].name_" number_literal < (cast_expression "(int)pOVar18[1].name_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" { (expression_statement "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));" (assignment_expression "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" identifier = (cast_expression "(Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar18[1].name_ + (uVar22 < uVar24))" ( (binary_expression "pOVar18[1].name_ + (uVar22 < uVar24)" (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier) + (parenthesized_expression "(uVar22 < uVar24)" ( (binary_expression "uVar22 < uVar24" identifier < identifier) ))) )))) ;) (if_statement "if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8))" ( (binary_expression "(int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))))) )) && (parenthesized_expression "((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13" (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar22 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar22 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" { (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (binary_expression "(int)&pOVar20->name_ + *(int *)(sVar15 + 0x10)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar16 = pcVar14 + uVar24;" (assignment_expression "pcVar16 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (if_statement "if (pcVar16 < pcVar14 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar16 < pcVar14 + 8)" ( (binary_expression "pcVar16 < pcVar14 + 8" identifier < (binary_expression "pcVar14 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" if (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) (compound_statement "{\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" { (expression_statement "oVar3 = pOVar18[10].file_size_;" (assignment_expression "oVar3 = pOVar18[10].file_size_" identifier = (field_expression "pOVar18[10].file_size_" (subscript_expression "pOVar18[10]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar4 = *(int *)((int)oVar3 + 0x18);" (assignment_expression "iVar4 = *(int *)((int)oVar3 + 0x18)" identifier = (pointer_expression "*(int *)((int)oVar3 + 0x18)" * (cast_expression "(int *)((int)oVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)oVar3 + 0x18)" ( (binary_expression "(int)oVar3 + 0x18" (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar14[0x1c] = '\0';\n                    pcVar14[0x1d] = '\0';\n                    pcVar14[0x1e] = '\0';\n                    pcVar14[0x1f] = '\0';\n                  }" { (expression_statement "pcVar14[0x1c] = '\0';" (assignment_expression "pcVar14[0x1c] = '\0'" (subscript_expression "pcVar14[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x1d] = '\0';" (assignment_expression "pcVar14[0x1d] = '\0'" (subscript_expression "pcVar14[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x1e] = '\0';" (assignment_expression "pcVar14[0x1e] = '\0'" (subscript_expression "pcVar14[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x1f] = '\0';" (assignment_expression "pcVar14[0x1f] = '\0'" (subscript_expression "pcVar14[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    *(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar22 = *(uint *)(iVar4 + 0x30);" (assignment_expression "uVar22 = *(uint *)(iVar4 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x30)" * (cast_expression "(uint *)(iVar4 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar14 + 0x1c) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar14 + 0x1c)" * (cast_expression "(uint *)(pcVar14 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x1c)" ( (binary_expression "pcVar14 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar16 < pcVar14 + uVar24 + 8)" ( (binary_expression "pcVar16 < pcVar14 + uVar24 + 8" identifier < (binary_expression "pcVar14 + uVar24 + 8" (binary_expression "pcVar14 + uVar24" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar14 = pcVar14 + uVar24;" (assignment_expression "pcVar14 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888);" (assignment_expression "uVar7 = (**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar29 + 0x3ef124))(*(int *)(pcVar29 + 0x3ea770) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3ef124))" ( (pointer_expression "**(code **)(pcVar29 + 0x3ef124)" * (pointer_expression "*(code **)(pcVar29 + 0x3ef124)" * (cast_expression "(code **)(pcVar29 + 0x3ef124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ef124)" ( (binary_expression "pcVar29 + 0x3ef124" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3ea770) + 0x3888)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea770) + 0x3888" (pointer_expression "*(int *)(pcVar29 + 0x3ea770)" * (cast_expression "(int *)(pcVar29 + 0x3ea770)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea770)" ( (binary_expression "pcVar29 + 0x3ea770" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);" (call_expression "(**(code **)(pcVar30 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24)" (parenthesized_expression "(**(code **)(pcVar30 + -0x7814))" ( (pointer_expression "**(code **)(pcVar30 + -0x7814)" * (pointer_expression "*(code **)(pcVar30 + -0x7814)" * (cast_expression "(code **)(pcVar30 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + -0x7814)" ( (binary_expression "pcVar30 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,(int)pOVar18[1].file_size_,uVar24)" ( identifier , (cast_expression "(int)pOVar18[1].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20);" (call_expression "get_output_view\n                  (pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20)" identifier (argument_list "(pOVar13,CONCAT44(pcVar30,in_stack_ffffffa4),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar30,in_stack_ffffffa4)" identifier (argument_list "(pcVar30,in_stack_ffffffa4)" ( identifier , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c);" (call_expression "(**(code **)(pcVar29 + 0x3eaf24))\n                (*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3eaf24))" ( (pointer_expression "**(code **)(pcVar29 + 0x3eaf24)" * (pointer_expression "*(code **)(pcVar29 + 0x3eaf24)" * (cast_expression "(code **)(pcVar29 + 0x3eaf24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3eaf24)" ( (binary_expression "pcVar29 + 0x3eaf24" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3ea770) + 0x4584,0xc0,*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea770) + 0x4584" (pointer_expression "*(int *)(pcVar29 + 0x3ea770)" * (cast_expression "(int *)(pcVar29 + 0x3ea770)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea770)" ( (binary_expression "pcVar29 + 0x3ea770" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3eaf44) + -0x3a9c" (pointer_expression "*(int *)(pcVar29 + 0x3eaf44)" * (cast_expression "(int *)(pcVar29 + 0x3eaf44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3eaf44)" ( (binary_expression "pcVar29 + 0x3eaf44" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar29 + 0x3eaf24))\n              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350);" (call_expression "(**(code **)(pcVar29 + 0x3eaf24))\n              (*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3eaf24))" ( (pointer_expression "**(code **)(pcVar29 + 0x3eaf24)" * (pointer_expression "*(code **)(pcVar29 + 0x3eaf24)" * (cast_expression "(code **)(pcVar29 + 0x3eaf24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3eaf24)" ( (binary_expression "pcVar29 + 0x3eaf24" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3ea770) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eaf44) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea770) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea770)" * (cast_expression "(int *)(pcVar29 + 0x3ea770)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea770)" ( (binary_expression "pcVar29 + 0x3ea770" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3eaf44) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3eaf44)" * (cast_expression "(int *)(pcVar29 + 0x3eaf44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3eaf44)" ( (binary_expression "pcVar29 + 0x3eaf44" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3eaf24);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3eaf24)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3eaf24)" * (cast_expression "(code **)(pcVar29 + 0x3eaf24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3eaf24)" ( (binary_expression "pcVar29 + 0x3eaf24" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea770) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea770) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar29 + 0x3ea770) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x3ea770) + 0x3574)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea770) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea770)" * (cast_expression "(int *)(pcVar29 + 0x3ea770)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea770)" ( (binary_expression "pcVar29 + 0x3ea770" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c);" (call_expression "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3eaf44) + -0x3a3c" (pointer_expression "*(int *)(pcVar29 + 0x3eaf44)" * (cast_expression "(int *)(pcVar29 + 0x3eaf44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3eaf44)" ( (binary_expression "pcVar29 + 0x3eaf44" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar30 + 0x3ead54))\n              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar30 + 0x3ead54))\n              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].name_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].name_" identifier = (cast_expression "(Output_file *)pOVar18[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);\n    }" { (if_statement "if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar20)" ( (binary_expression "-1 < (int)pOVar20" number_literal < (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" identifier = (binary_expression "*(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (binary_expression "(int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" ( (binary_expression "uVar24 < *(uint *)&pOVar18->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);" (assignment_expression "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (binary_expression "(int)*(char **)(sVar15 + 8) < (int)pcVar14" (cast_expression "(int)*(char **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "(pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "(pOVar20 == (Output_file *)0x0)" ( (binary_expression "pOVar20 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(char **)(sVar15 + 8) != pcVar14" (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar24 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar24 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar21 = (ushort *)pOVar18[2].name_;" (assignment_expression "puVar21 = (ushort *)pOVar18[2].name_" identifier = (cast_expression "(ushort *)pOVar18[2].name_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "uVar2 = *puVar21;" (assignment_expression "uVar2 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);" (assignment_expression "puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" identifier = (cast_expression "(ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (binary_expression "*(int *)(sVar15 + 0x10) + pOVar18[1].o_" (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "*puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "(ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (call_expression "(ushort)((uVar2 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar2 & 0xff) << 8)" ( (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "uVar2 >> 8" identifier >> number_literal))) ;) (expression_statement "*(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);" (assignment_expression "*(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1)" (pointer_expression "*(undefined1 *)(puVar8 + 1)" * (cast_expression "(undefined1 *)(puVar8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 1)" ( (binary_expression "puVar8 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar21 + 1)" * (cast_expression "(undefined1 *)(puVar21 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];" (assignment_expression "*(char *)((int)puVar8 + 3) = pOVar18[2].name_[3]" (pointer_expression "*(char *)((int)puVar8 + 3)" * (cast_expression "(char *)((int)puVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 3)" ( (binary_expression "(int)puVar8 + 3" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[3]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 2) = pOVar18[2].name_[4];" (assignment_expression "*(char *)(puVar8 + 2) = pOVar18[2].name_[4]" (pointer_expression "*(char *)(puVar8 + 2)" * (cast_expression "(char *)(puVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (subscript_expression "pOVar18[2].name_[4]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];" (assignment_expression "*(char *)((int)puVar8 + 5) = pOVar18[2].name_[5]" (pointer_expression "*(char *)((int)puVar8 + 5)" * (cast_expression "(char *)((int)puVar8 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[5]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 3) = pOVar18[2].name_[6];" (assignment_expression "*(char *)(puVar8 + 3) = pOVar18[2].name_[6]" (pointer_expression "*(char *)(puVar8 + 3)" * (cast_expression "(char *)(puVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 3)" ( (binary_expression "puVar8 + 3" identifier + number_literal) )))) = (subscript_expression "pOVar18[2].name_[6]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];" (assignment_expression "*(char *)((int)puVar8 + 7) = pOVar18[2].name_[7]" (pointer_expression "*(char *)((int)puVar8 + 7)" * (cast_expression "(char *)((int)puVar8 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 7)" ( (binary_expression "(int)puVar8 + 7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[7]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "pcVar14 = pOVar18[2].name_;" (assignment_expression "pcVar14 = pOVar18[2].name_" identifier = (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 8);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 8)" identifier = (pointer_expression "*(uint *)(pcVar14 + 8)" * (cast_expression "(uint *)(pcVar14 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 8)" ( (binary_expression "pcVar14 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 4)" * (cast_expression "(uint *)(puVar8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0xc);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0xc)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0xc)" * (cast_expression "(uint *)(pcVar14 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0xc)" ( (binary_expression "pcVar14 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 6)" * (cast_expression "(uint *)(puVar8 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 6)" ( (binary_expression "puVar8 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0x10);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0x10)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0x10)" * (cast_expression "(uint *)(pcVar14 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x10)" ( (binary_expression "pcVar14 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 8)" * (cast_expression "(uint *)(puVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0x14);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0x14)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0x14)" * (cast_expression "(uint *)(pcVar14 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x14)" ( (binary_expression "pcVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 10)" * (cast_expression "(uint *)(puVar8 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 10)" ( (binary_expression "puVar8 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20);" (call_expression "get_output_view\n                (pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20)" identifier (argument_list "(pOVar18,CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar30 + 0x3f2564,in_stack_ffffff84)" identifier (argument_list "(pcVar30 + 0x3f2564,in_stack_ffffff84)" ( (binary_expression "pcVar30 + 0x3f2564" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar30 + 0x3ead54))\n              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350);" (call_expression "(**(code **)(pcVar30 + 0x3ead54))\n              (*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3ead54))" ( (pointer_expression "**(code **)(pcVar30 + 0x3ead54)" * (pointer_expression "*(code **)(pcVar30 + 0x3ead54)" * (cast_expression "(code **)(pcVar30 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ead54)" ( (binary_expression "pcVar30 + 0x3ead54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ead74) + -0x3350)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar30 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea5a0)" ( (binary_expression "pcVar30 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ead74) + -0x3350" (pointer_expression "*(int *)(pcVar30 + 0x3ead74)" * (cast_expression "(int *)(pcVar30 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ead74)" ( (binary_expression "pcVar30 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3ead54);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3ead54)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3ead54)" * (cast_expression "(code **)(pcVar30 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ead54)" ( (binary_expression "pcVar30 + 0x3ead54" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x3ea5a0) + 0x3574)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar30 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea5a0)" ( (binary_expression "pcVar30 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ead74) + -0x3a3c);" (call_expression "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ead74) + -0x3a3c)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ead74) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ead74) + -0x3a3c" (pointer_expression "*(int *)(pcVar30 + 0x3ead74)" * (cast_expression "(int *)(pcVar30 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ead74)" ( (binary_expression "pcVar30 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3eabf0))\n              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3eabf0))\n              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].name_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].name_" identifier = (cast_expression "(Output_file *)pOVar18[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);\n    }" { (if_statement "if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar20)" ( (binary_expression "-1 < (int)pOVar20" number_literal < (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" identifier = (binary_expression "*(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (binary_expression "(int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" ( (binary_expression "uVar24 < *(uint *)&pOVar18->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);" (assignment_expression "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (binary_expression "(int)*(char **)(sVar15 + 8) < (int)pcVar14" (cast_expression "(int)*(char **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "(pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "(pOVar20 == (Output_file *)0x0)" ( (binary_expression "pOVar20 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(char **)(sVar15 + 8) != pcVar14" (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar24 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar24 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar21 = (ushort *)pOVar18[2].name_;\n          uVar2 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          *puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar18[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar18[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];\n          pcVar14 = pOVar18[2].name_;\n          uVar24 = *(uint *)(pcVar14 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar24 = *(uint *)(pcVar14 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar21 = (ushort *)pOVar18[2].name_;" (assignment_expression "puVar21 = (ushort *)pOVar18[2].name_" identifier = (cast_expression "(ushort *)pOVar18[2].name_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "uVar2 = *puVar21;" (assignment_expression "uVar2 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);" (assignment_expression "puVar8 = (ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" identifier = (cast_expression "(ushort *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (binary_expression "*(int *)(sVar15 + 0x10) + pOVar18[1].o_" (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "*puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar8 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "(ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (call_expression "(ushort)((uVar2 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar2 & 0xff) << 8)" ( (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "uVar2 >> 8" identifier >> number_literal))) ;) (expression_statement "*(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);" (assignment_expression "*(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1)" (pointer_expression "*(undefined1 *)(puVar8 + 1)" * (cast_expression "(undefined1 *)(puVar8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 1)" ( (binary_expression "puVar8 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar21 + 1)" * (cast_expression "(undefined1 *)(puVar21 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 1)" ( (binary_expression "puVar21 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(char *)((int)puVar8 + 3) = pOVar18[2].name_[3];" (assignment_expression "*(char *)((int)puVar8 + 3) = pOVar18[2].name_[3]" (pointer_expression "*(char *)((int)puVar8 + 3)" * (cast_expression "(char *)((int)puVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 3)" ( (binary_expression "(int)puVar8 + 3" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[3]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 2) = pOVar18[2].name_[4];" (assignment_expression "*(char *)(puVar8 + 2) = pOVar18[2].name_[4]" (pointer_expression "*(char *)(puVar8 + 2)" * (cast_expression "(char *)(puVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (subscript_expression "pOVar18[2].name_[4]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 5) = pOVar18[2].name_[5];" (assignment_expression "*(char *)((int)puVar8 + 5) = pOVar18[2].name_[5]" (pointer_expression "*(char *)((int)puVar8 + 5)" * (cast_expression "(char *)((int)puVar8 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 5)" ( (binary_expression "(int)puVar8 + 5" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[5]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 3) = pOVar18[2].name_[6];" (assignment_expression "*(char *)(puVar8 + 3) = pOVar18[2].name_[6]" (pointer_expression "*(char *)(puVar8 + 3)" * (cast_expression "(char *)(puVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 3)" ( (binary_expression "puVar8 + 3" identifier + number_literal) )))) = (subscript_expression "pOVar18[2].name_[6]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 7) = pOVar18[2].name_[7];" (assignment_expression "*(char *)((int)puVar8 + 7) = pOVar18[2].name_[7]" (pointer_expression "*(char *)((int)puVar8 + 7)" * (cast_expression "(char *)((int)puVar8 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + 7)" ( (binary_expression "(int)puVar8 + 7" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "pOVar18[2].name_[7]" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "pcVar14 = pOVar18[2].name_;" (assignment_expression "pcVar14 = pOVar18[2].name_" identifier = (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 8);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 8)" identifier = (pointer_expression "*(uint *)(pcVar14 + 8)" * (cast_expression "(uint *)(pcVar14 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 8)" ( (binary_expression "pcVar14 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 4) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 4)" * (cast_expression "(uint *)(puVar8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0xc);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0xc)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0xc)" * (cast_expression "(uint *)(pcVar14 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0xc)" ( (binary_expression "pcVar14 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 6) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 6)" * (cast_expression "(uint *)(puVar8 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 6)" ( (binary_expression "puVar8 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0x10);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0x10)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0x10)" * (cast_expression "(uint *)(pcVar14 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x10)" ( (binary_expression "pcVar14 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 8) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 8)" * (cast_expression "(uint *)(puVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar24 = *(uint *)(pcVar14 + 0x14);" (assignment_expression "uVar24 = *(uint *)(pcVar14 + 0x14)" identifier = (pointer_expression "*(uint *)(pcVar14 + 0x14)" * (cast_expression "(uint *)(pcVar14 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x14)" ( (binary_expression "pcVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 10) =\n               (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar8 + 10)" * (cast_expression "(uint *)(puVar8 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 10)" ( (binary_expression "puVar8 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20);" (call_expression "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20)" identifier (argument_list "(pOVar18,CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar29 + 0x3f2400,in_stack_ffffff64)" identifier (argument_list "(pcVar29 + 0x3f2400,in_stack_ffffff64)" ( (binary_expression "pcVar29 + 0x3f2400" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar29 + 0x3eabf0))\n              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350);" (call_expression "(**(code **)(pcVar29 + 0x3eabf0))\n              (*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3eabf0))" ( (pointer_expression "**(code **)(pcVar29 + 0x3eabf0)" * (pointer_expression "*(code **)(pcVar29 + 0x3eabf0)" * (cast_expression "(code **)(pcVar29 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3eabf0)" ( (binary_expression "pcVar29 + 0x3eabf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3eac10) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea43c)" * (cast_expression "(int *)(pcVar29 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea43c)" ( (binary_expression "pcVar29 + 0x3ea43c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3eac10) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3eac10)" * (cast_expression "(int *)(pcVar29 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3eac10)" ( (binary_expression "pcVar29 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3eabf0);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3eabf0)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3eabf0)" * (cast_expression "(code **)(pcVar29 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3eabf0)" ( (binary_expression "pcVar29 + 0x3eabf0" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea43c) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea43c) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar29 + 0x3ea43c) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x3ea43c) + 0x3574)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea43c)" * (cast_expression "(int *)(pcVar29 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea43c)" ( (binary_expression "pcVar29 + 0x3ea43c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eac10) + -0x3a3c);" (call_expression "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eac10) + -0x3a3c)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar29 + 0x3eac10) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3eac10) + -0x3a3c" (pointer_expression "*(int *)(pcVar29 + 0x3eac10)" * (cast_expression "(int *)(pcVar29 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3eac10)" ( (binary_expression "pcVar29 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar29 = pcVar30 + 0x3f229c;" (assignment_expression "pcVar29 = pcVar30 + 0x3f229c" identifier = (binary_expression "pcVar30 + 0x3f229c" identifier + number_literal)) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3eaa8c))\n              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3eaa8c))\n              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].o_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].o_" identifier = (cast_expression "(Output_file *)pOVar18[1].o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);\n    }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_" identifier = (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) ;) (if_statement "if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }" if (parenthesized_expression "(pOVar18->base_ == (uchar *)0x0)" ( (binary_expression "pOVar18->base_ == (uchar *)0x0" (field_expression "pOVar18->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);\n      }" { (expression_statement "uVar22 = (int)&pOVar20->name_ + uVar24;" (assignment_expression "uVar22 = (int)&pOVar20->name_ + uVar24" identifier = (binary_expression "(int)&pOVar20->name_ + uVar24" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar13 = pOVar18;" (assignment_expression "pOVar13 = pOVar18" identifier = identifier) ;) (if_statement "if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar18[1].name_)" ( (binary_expression "-1 < (int)pOVar18[1].name_" number_literal < (cast_expression "(int)pOVar18[1].name_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" { (expression_statement "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));" (assignment_expression "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" identifier = (cast_expression "(Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar18[1].name_ + (uVar22 < uVar24))" ( (binary_expression "pOVar18[1].name_ + (uVar22 < uVar24)" (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier) + (parenthesized_expression "(uVar22 < uVar24)" ( (binary_expression "uVar22 < uVar24" identifier < identifier) ))) )))) ;) (if_statement "if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8))" ( (binary_expression "(int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))))) )) && (parenthesized_expression "((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13" (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar22 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar22 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" { (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (binary_expression "(int)&pOVar20->name_ + *(int *)(sVar15 + 0x10)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar16 = pcVar14 + uVar24;" (assignment_expression "pcVar16 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (if_statement "if (pcVar16 < pcVar14 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar16 < pcVar14 + 8)" ( (binary_expression "pcVar16 < pcVar14 + 8" identifier < (binary_expression "pcVar14 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" if (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) (compound_statement "{\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" { (expression_statement "oVar3 = pOVar18[10].file_size_;" (assignment_expression "oVar3 = pOVar18[10].file_size_" identifier = (field_expression "pOVar18[10].file_size_" (subscript_expression "pOVar18[10]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }\n                }" { (expression_statement "iVar4 = *(int *)((int)oVar3 + 0x18);" (assignment_expression "iVar4 = *(int *)((int)oVar3 + 0x18)" identifier = (pointer_expression "*(int *)((int)oVar3 + 0x18)" * (cast_expression "(int *)((int)oVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)oVar3 + 0x18)" ( (binary_expression "(int)oVar3 + 0x18" (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                  }" { (expression_statement "pcVar14[0x24] = '\0';" (assignment_expression "pcVar14[0x24] = '\0'" (subscript_expression "pcVar14[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x25] = '\0';" (assignment_expression "pcVar14[0x25] = '\0'" (subscript_expression "pcVar14[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x26] = '\0';" (assignment_expression "pcVar14[0x26] = '\0'" (subscript_expression "pcVar14[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x27] = '\0';" (assignment_expression "pcVar14[0x27] = '\0'" (subscript_expression "pcVar14[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x20] = '\0';" (assignment_expression "pcVar14[0x20] = '\0'" (subscript_expression "pcVar14[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x21] = '\0';" (assignment_expression "pcVar14[0x21] = '\0'" (subscript_expression "pcVar14[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x22] = '\0';" (assignment_expression "pcVar14[0x22] = '\0'" (subscript_expression "pcVar14[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x23] = '\0';" (assignment_expression "pcVar14[0x23] = '\0'" (subscript_expression "pcVar14[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }" else (compound_statement "{\n                    uVar7 = *(undefined4 *)(iVar4 + 0x30);\n                    *(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);\n                    *(undefined4 *)(pcVar14 + 0x20) = uVar7;\n                  }" { (expression_statement "uVar7 = *(undefined4 *)(iVar4 + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(iVar4 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34);" (assignment_expression "*(undefined4 *)(pcVar14 + 0x24) = *(undefined4 *)(iVar4 + 0x34)" (pointer_expression "*(undefined4 *)(pcVar14 + 0x24)" * (cast_expression "(undefined4 *)(pcVar14 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x24)" ( (binary_expression "pcVar14 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x34)" * (cast_expression "(undefined4 *)(iVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar14 + 0x20) = uVar7;" (assignment_expression "*(undefined4 *)(pcVar14 + 0x20) = uVar7" (pointer_expression "*(undefined4 *)(pcVar14 + 0x20)" * (cast_expression "(undefined4 *)(pcVar14 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x20)" ( (binary_expression "pcVar14 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) })) (if_statement "if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar16 < pcVar14 + uVar24 + 8)" ( (binary_expression "pcVar16 < pcVar14 + uVar24 + 8" identifier < (binary_expression "pcVar14 + uVar24 + 8" (binary_expression "pcVar14 + uVar24" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar14 = pcVar14 + uVar24;" (assignment_expression "pcVar14 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888);" (assignment_expression "uVar7 = (**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar30 + 0x3eec8c))(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3eec8c))" ( (pointer_expression "**(code **)(pcVar30 + 0x3eec8c)" * (pointer_expression "*(code **)(pcVar30 + 0x3eec8c)" * (cast_expression "(code **)(pcVar30 + 0x3eec8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3eec8c)" ( (binary_expression "pcVar30 + 0x3eec8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3ea2d8) + 0x3888)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea2d8) + 0x3888" (pointer_expression "*(int *)(pcVar30 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar30 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea2d8)" ( (binary_expression "pcVar30 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);" (call_expression "(**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24)" (parenthesized_expression "(**(code **)(pcVar29 + -0x7814))" ( (pointer_expression "**(code **)(pcVar29 + -0x7814)" * (pointer_expression "*(code **)(pcVar29 + -0x7814)" * (cast_expression "(code **)(pcVar29 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + -0x7814)" ( (binary_expression "pcVar29 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,(int)pOVar18[1].file_size_,uVar24)" ( identifier , (cast_expression "(int)pOVar18[1].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20);" (call_expression "get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20)" identifier (argument_list "(pOVar13,CONCAT44(pcVar29,in_stack_ffffff3c),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar29,in_stack_ffffff3c)" identifier (argument_list "(pcVar29,in_stack_ffffff3c)" ( identifier , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c);" (call_expression "(**(code **)(pcVar30 + 0x3eaa8c))\n                (*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar30 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar30 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar30 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3eaa8c)" ( (binary_expression "pcVar30 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea2d8) + 0x4584" (pointer_expression "*(int *)(pcVar30 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar30 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea2d8)" ( (binary_expression "pcVar30 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3eaaac) + -0x3a9c" (pointer_expression "*(int *)(pcVar30 + 0x3eaaac)" * (cast_expression "(int *)(pcVar30 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3eaaac)" ( (binary_expression "pcVar30 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar30 + 0x3eaa8c))\n              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350);" (call_expression "(**(code **)(pcVar30 + 0x3eaa8c))\n              (*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar30 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar30 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar30 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3eaa8c)" ( (binary_expression "pcVar30 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3eaaac) + -0x3350)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar30 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea2d8)" ( (binary_expression "pcVar30 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3eaaac) + -0x3350" (pointer_expression "*(int *)(pcVar30 + 0x3eaaac)" * (cast_expression "(int *)(pcVar30 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3eaaac)" ( (binary_expression "pcVar30 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3eaa8c);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3eaa8c)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar30 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3eaa8c)" ( (binary_expression "pcVar30 + 0x3eaa8c" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x3ea2d8) + 0x3574)" ( (binary_expression "*(int *)(pcVar30 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar30 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea2d8)" ( (binary_expression "pcVar30 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c);" (call_expression "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3eaaac) + -0x3a3c" (pointer_expression "*(int *)(pcVar30 + 0x3eaaac)" * (cast_expression "(int *)(pcVar30 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3eaaac)" ( (binary_expression "pcVar30 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea8b8))\n              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea8b8))\n              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].name_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].name_" identifier = (cast_expression "(Output_file *)pOVar18[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);\n    }" { (if_statement "if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar20)" ( (binary_expression "-1 < (int)pOVar20" number_literal < (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }\n      }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" identifier = (binary_expression "*(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (binary_expression "(int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" ( (binary_expression "uVar24 < *(uint *)&pOVar18->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);" (assignment_expression "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (binary_expression "(int)*(char **)(sVar15 + 8) < (int)pcVar14" (cast_expression "(int)*(char **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }" if (parenthesized_expression "((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "(pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "(pOVar20 == (Output_file *)0x0)" ( (binary_expression "pOVar20 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(char **)(sVar15 + 8) != pcVar14" (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar24 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar24 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          uVar7 = *(undefined4 *)&pOVar18[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          pcVar14 = pOVar18[2].name_;\n          puVar9[1] = (int)pOVar18[2].file_size_;\n          *puVar9 = uVar7;\n          puVar26 = pOVar18[2].base_;\n          iVar4 = *(int *)(pcVar14 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;\n          puVar9[1] = puVar26;\n          pcVar14 = pOVar18[3].name_;\n          puVar9[3] = pOVar18[3].o_;\n          puVar9[2] = pcVar14;\n          uVar7 = *(undefined4 *)&pOVar18[3].file_size_;\n          puVar9[4] = (int)pOVar18[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar26 = pOVar18[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;\n          puVar9[4] = puVar26;\n          if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }\n          uVar7 = *(undefined4 *)(iVar4 + 0x30);\n          puVar9[6] = *(undefined4 *)(iVar4 + 0x34);\n          puVar9[5] = uVar7;\n          return;\n        }" { (expression_statement "uVar7 = *(undefined4 *)&pOVar18[2].file_size_;" (assignment_expression "uVar7 = *(undefined4 *)&pOVar18[2].file_size_" identifier = (pointer_expression "*(undefined4 *)&pOVar18[2].file_size_" * (cast_expression "(undefined4 *)&pOVar18[2].file_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[2].file_size_" & (field_expression "pOVar18[2].file_size_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);" (assignment_expression "puVar9 = (undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" identifier = (cast_expression "(undefined4 *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (binary_expression "*(int *)(sVar15 + 0x10) + pOVar18[1].o_" (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "pcVar14 = pOVar18[2].name_;" (assignment_expression "pcVar14 = pOVar18[2].name_" identifier = (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[1] = (int)pOVar18[2].file_size_;" (assignment_expression "puVar9[1] = (int)pOVar18[2].file_size_" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)pOVar18[2].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[2].file_size_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "*puVar9 = uVar7;" (assignment_expression "*puVar9 = uVar7" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar26 = pOVar18[2].base_;" (assignment_expression "puVar26 = pOVar18[2].base_" identifier = (field_expression "pOVar18[2].base_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar4 = *(int *)(pcVar14 + 0x18);" (assignment_expression "iVar4 = *(int *)(pcVar14 + 0x18)" identifier = (pointer_expression "*(int *)(pcVar14 + 0x18)" * (cast_expression "(int *)(pcVar14 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x18)" ( (binary_expression "pcVar14 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_;" (assignment_expression "puVar9[2] = *(undefined4 *)&pOVar18[2].map_is_anonymous_" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)&pOVar18[2].map_is_anonymous_" * (cast_expression "(undefined4 *)&pOVar18[2].map_is_anonymous_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[2].map_is_anonymous_" & (field_expression "pOVar18[2].map_is_anonymous_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[1] = puVar26;" (assignment_expression "puVar9[1] = puVar26" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar14 = pOVar18[3].name_;" (assignment_expression "pcVar14 = pOVar18[3].name_" identifier = (field_expression "pOVar18[3].name_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[3] = pOVar18[3].o_;" (assignment_expression "puVar9[3] = pOVar18[3].o_" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (field_expression "pOVar18[3].o_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[2] = pcVar14;" (assignment_expression "puVar9[2] = pcVar14" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = *(undefined4 *)&pOVar18[3].file_size_;" (assignment_expression "uVar7 = *(undefined4 *)&pOVar18[3].file_size_" identifier = (pointer_expression "*(undefined4 *)&pOVar18[3].file_size_" * (cast_expression "(undefined4 *)&pOVar18[3].file_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[3].file_size_" & (field_expression "pOVar18[3].file_size_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[4] = (int)pOVar18[3].file_size_;" (assignment_expression "puVar9[4] = (int)pOVar18[3].file_size_" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (cast_expression "(int)pOVar18[3].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[3].file_size_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar9[3] = uVar7;" (assignment_expression "puVar9[3] = uVar7" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26 = pOVar18[3].base_;" (assignment_expression "puVar26 = pOVar18[3].base_" identifier = (field_expression "pOVar18[3].base_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_;" (assignment_expression "puVar9[5] = *(undefined4 *)&pOVar18[3].map_is_anonymous_" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)&pOVar18[3].map_is_anonymous_" * (cast_expression "(undefined4 *)&pOVar18[3].map_is_anonymous_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[3].map_is_anonymous_" & (field_expression "pOVar18[3].map_is_anonymous_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[4] = puVar26;" (assignment_expression "puVar9[4] = puVar26" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar4 == 0) {\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar9[6] = 0;\n            puVar9[5] = 0;\n            return;\n          }" { (expression_statement "puVar9[6] = 0;" (assignment_expression "puVar9[6] = 0" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar9[5] = 0;" (assignment_expression "puVar9[5] = 0" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar7 = *(undefined4 *)(iVar4 + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(iVar4 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x30)" * (cast_expression "(undefined4 *)(iVar4 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar9[6] = *(undefined4 *)(iVar4 + 0x34);" (assignment_expression "puVar9[6] = *(undefined4 *)(iVar4 + 0x34)" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar4 + 0x34)" * (cast_expression "(undefined4 *)(iVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar9[5] = uVar7;" (assignment_expression "puVar9[5] = uVar7" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20);" (call_expression "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20)" identifier (argument_list "(pOVar18,CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar29 + 0x3f20c8,in_stack_ffffff1c)" identifier (argument_list "(pcVar29 + 0x3f20c8,in_stack_ffffff1c)" ( (binary_expression "pcVar29 + 0x3f20c8" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar29 + 0x3ea8b8))\n              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350);" (call_expression "(**(code **)(pcVar29 + 0x3ea8b8))\n              (*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar29 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar29 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar29 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea8b8)" ( (binary_expression "pcVar29 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea8d8) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea104)" * (cast_expression "(int *)(pcVar29 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea104)" ( (binary_expression "pcVar29 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea8d8) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar29 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea8d8)" ( (binary_expression "pcVar29 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3ea8b8);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3ea8b8)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar29 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea8b8)" ( (binary_expression "pcVar29 + 0x3ea8b8" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea104) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar29 + 0x3ea104) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar29 + 0x3ea104) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x3ea104) + 0x3574)" ( (binary_expression "*(int *)(pcVar29 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3ea104)" * (cast_expression "(int *)(pcVar29 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea104)" ( (binary_expression "pcVar29 + 0x3ea104" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c);" (call_expression "(*pcVar30)(pOVar18,0xe3,*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea8d8) + -0x3a3c" (pointer_expression "*(int *)(pcVar29 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar29 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea8d8)" ( (binary_expression "pcVar29 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar29 = pcVar30 + 0x3f1f74;" (assignment_expression "pcVar29 = pcVar30 + 0x3f1f74" identifier = (binary_expression "pcVar30 + 0x3f1f74" identifier + number_literal)) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3ea764))\n              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].o_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar30 + 0x3ea764))\n              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].o_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].o_" identifier = (cast_expression "(Output_file *)pOVar18[1].o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = *(uint *)&pOVar18->map_is_anonymous_;\n      if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }\n      (**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);\n    }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_" identifier = (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) ;) (if_statement "if (pOVar18->base_ == (uchar *)0x0) {\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }" if (parenthesized_expression "(pOVar18->base_ == (uchar *)0x0)" ( (binary_expression "pOVar18->base_ == (uchar *)0x0" (field_expression "pOVar18->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar22 = (int)&pOVar20->name_ + uVar24;\n        pOVar13 = pOVar18;\n        if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);\n      }" { (expression_statement "uVar22 = (int)&pOVar20->name_ + uVar24;" (assignment_expression "uVar22 = (int)&pOVar20->name_ + uVar24" identifier = (binary_expression "(int)&pOVar20->name_ + uVar24" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar13 = pOVar18;" (assignment_expression "pOVar13 = pOVar18" identifier = identifier) ;) (if_statement "if (-1 < (int)pOVar18[1].name_) {\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar18[1].name_)" ( (binary_expression "-1 < (int)pOVar18[1].name_" number_literal < (cast_expression "(int)pOVar18[1].name_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));\n          if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }\n        }" { (expression_statement "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24));" (assignment_expression "pOVar13 = (Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" identifier = (cast_expression "(Output_file *)(pOVar18[1].name_ + (uVar22 < uVar24))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar18[1].name_ + (uVar22 < uVar24))" ( (binary_expression "pOVar18[1].name_ + (uVar22 < uVar24)" (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier) + (parenthesized_expression "(uVar22 < uVar24)" ( (binary_expression "uVar22 < uVar24" identifier < identifier) ))) )))) ;) (if_statement "if (((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))) {\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)) &&\n             ((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "((int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8))" ( (binary_expression "(int)pOVar13 <= (int)*(Output_file **)(sVar15 + 8)" (cast_expression "(int)pOVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))))) )) && (parenthesized_expression "((*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13 || (uVar22 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(Output_file **)(sVar15 + 8) != pOVar13" (pointer_expression "*(Output_file **)(sVar15 + 8)" * (cast_expression "(Output_file **)(sVar15 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar22 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar22 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));\n            pcVar16 = pcVar14 + uVar24;\n            if (pcVar16 < pcVar14 + 8) {\n              return;\n            }\n            uVar24 = (uint)(byte)pcVar14[1];\n            cVar1 = *pcVar14;\n            if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }\n            uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);\n            return;\n          }" { (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ + *(int *)(sVar15 + 0x10))" ( (binary_expression "(int)&pOVar20->name_ + *(int *)(sVar15 + 0x10)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar16 = pcVar14 + uVar24;" (assignment_expression "pcVar16 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (if_statement "if (pcVar16 < pcVar14 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar16 < pcVar14 + 8)" ( (binary_expression "pcVar16 < pcVar14 + 8" identifier < (binary_expression "pcVar14 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (7 < uVar24) {\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" if (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) (compound_statement "{\n              oVar3 = pOVar18[10].file_size_;\n              do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);\n            }" { (expression_statement "oVar3 = pOVar18[10].file_size_;" (assignment_expression "oVar3 = pOVar18[10].file_size_" identifier = (field_expression "pOVar18[10].file_size_" (subscript_expression "pOVar18[10]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              } while (7 < uVar24);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }\n                pcVar14 = pcVar14 + uVar24;\n                uVar24 = (uint)(byte)pcVar14[1];\n                cVar1 = *pcVar14;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar4 = *(int *)((int)oVar3 + 0x18);\n                  if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar4 = *(int *)((int)oVar3 + 0x18);" (assignment_expression "iVar4 = *(int *)((int)oVar3 + 0x18)" identifier = (pointer_expression "*(int *)((int)oVar3 + 0x18)" * (cast_expression "(int *)((int)oVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)oVar3 + 0x18)" ( (binary_expression "(int)oVar3 + 0x18" (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }\n                  else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar14[0x20] = '\0';\n                    pcVar14[0x21] = '\0';\n                    pcVar14[0x22] = '\0';\n                    pcVar14[0x23] = '\0';\n                    pcVar14[0x24] = '\0';\n                    pcVar14[0x25] = '\0';\n                    pcVar14[0x26] = '\0';\n                    pcVar14[0x27] = '\0';\n                  }" { (expression_statement "pcVar14[0x20] = '\0';" (assignment_expression "pcVar14[0x20] = '\0'" (subscript_expression "pcVar14[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x21] = '\0';" (assignment_expression "pcVar14[0x21] = '\0'" (subscript_expression "pcVar14[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x22] = '\0';" (assignment_expression "pcVar14[0x22] = '\0'" (subscript_expression "pcVar14[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x23] = '\0';" (assignment_expression "pcVar14[0x23] = '\0'" (subscript_expression "pcVar14[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x24] = '\0';" (assignment_expression "pcVar14[0x24] = '\0'" (subscript_expression "pcVar14[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x25] = '\0';" (assignment_expression "pcVar14[0x25] = '\0'" (subscript_expression "pcVar14[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x26] = '\0';" (assignment_expression "pcVar14[0x26] = '\0'" (subscript_expression "pcVar14[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar14[0x27] = '\0';" (assignment_expression "pcVar14[0x27] = '\0'" (subscript_expression "pcVar14[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar22 = *(uint *)(iVar4 + 0x30);\n                    uVar12 = *(uint *)(iVar4 + 0x34);\n                    *(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar22 = *(uint *)(iVar4 + 0x30);" (assignment_expression "uVar22 = *(uint *)(iVar4 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x30)" * (cast_expression "(uint *)(iVar4 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar4 + 0x34);" (assignment_expression "uVar12 = *(uint *)(iVar4 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x34)" * (cast_expression "(uint *)(iVar4 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar14 + 0x24) =\n                         (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar14 + 0x24)" * (cast_expression "(uint *)(pcVar14 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x24)" ( (binary_expression "pcVar14 + 0x24" identifier + number_literal) )))) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar14 + 0x20) =\n                         (((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar14 + 0x20)" * (cast_expression "(uint *)(pcVar14 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x20)" ( (binary_expression "pcVar14 + 0x20" identifier + number_literal) )))) = (binary_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10)" ( (binary_expression "(uVar12 >> 0x10) << 0x18 | (uVar12 >> 0x18) << 0x10" (binary_expression "(uVar12 >> 0x10) << 0x18" (parenthesized_expression "(uVar12 >> 0x10)" ( (binary_expression "uVar12 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar12 >> 0x18) << 0x10" (parenthesized_expression "(uVar12 >> 0x18)" ( (binary_expression "uVar12 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff)" ( (binary_expression "(uVar12 & 0xff) << 8 | uVar12 >> 8 & 0xff" (binary_expression "(uVar12 & 0xff) << 8" (parenthesized_expression "(uVar12 & 0xff)" ( (binary_expression "uVar12 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar12 >> 8 & 0xff" (binary_expression "uVar12 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (pcVar16 < pcVar14 + uVar24 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar16 < pcVar14 + uVar24 + 8)" ( (binary_expression "pcVar16 < pcVar14 + uVar24 + 8" identifier < (binary_expression "pcVar14 + uVar24 + 8" (binary_expression "pcVar14 + uVar24" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar14 = pcVar14 + uVar24;" (assignment_expression "pcVar14 = pcVar14 + uVar24" identifier = (binary_expression "pcVar14 + uVar24" identifier + identifier)) ;) (expression_statement "uVar24 = (uint)(byte)pcVar14[1];" (assignment_expression "uVar24 = (uint)(byte)pcVar14[1]" identifier = (cast_expression "(uint)(byte)pcVar14[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar14[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar14[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar14;" (assignment_expression "cVar1 = *pcVar14" identifier = (pointer_expression "*pcVar14" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar24)" ( (binary_expression "7 < uVar24" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888);" (assignment_expression "uVar7 = (**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar30 + 0x3ee964))(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3ee964))" ( (pointer_expression "**(code **)(pcVar30 + 0x3ee964)" * (pointer_expression "*(code **)(pcVar30 + 0x3ee964)" * (cast_expression "(code **)(pcVar30 + 0x3ee964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ee964)" ( (binary_expression "pcVar30 + 0x3ee964" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3e9fb0) + 0x3888)" ( (binary_expression "*(int *)(pcVar30 + 0x3e9fb0) + 0x3888" (pointer_expression "*(int *)(pcVar30 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar30 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9fb0)" ( (binary_expression "pcVar30 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24);" (call_expression "(**(code **)(pcVar29 + -0x7814))(uVar7,(int)pOVar18[1].file_size_,uVar24)" (parenthesized_expression "(**(code **)(pcVar29 + -0x7814))" ( (pointer_expression "**(code **)(pcVar29 + -0x7814)" * (pointer_expression "*(code **)(pcVar29 + -0x7814)" * (cast_expression "(code **)(pcVar29 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + -0x7814)" ( (binary_expression "pcVar29 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,(int)pOVar18[1].file_size_,uVar24)" ( identifier , (cast_expression "(int)pOVar18[1].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20);" (call_expression "get_output_view\n                  (pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20)" identifier (argument_list "(pOVar13,CONCAT44(pcVar29,in_stack_fffffef4),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar29,in_stack_fffffef4)" identifier (argument_list "(pcVar29,in_stack_fffffef4)" ( identifier , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c);" (call_expression "(**(code **)(pcVar30 + 0x3ea764))\n                (*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3ea764))" ( (pointer_expression "**(code **)(pcVar30 + 0x3ea764)" * (pointer_expression "*(code **)(pcVar30 + 0x3ea764)" * (cast_expression "(code **)(pcVar30 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea764)" ( (binary_expression "pcVar30 + 0x3ea764" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar30 + 0x3ea784) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar30 + 0x3e9fb0) + 0x4584" (pointer_expression "*(int *)(pcVar30 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar30 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9fb0)" ( (binary_expression "pcVar30 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea784) + -0x3a9c" (pointer_expression "*(int *)(pcVar30 + 0x3ea784)" * (cast_expression "(int *)(pcVar30 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea784)" ( (binary_expression "pcVar30 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar30 + 0x3ea764))\n              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350);" (call_expression "(**(code **)(pcVar30 + 0x3ea764))\n              (*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3ea764))" ( (pointer_expression "**(code **)(pcVar30 + 0x3ea764)" * (pointer_expression "*(code **)(pcVar30 + 0x3ea764)" * (cast_expression "(code **)(pcVar30 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea764)" ( (binary_expression "pcVar30 + 0x3ea764" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar30 + 0x3ea784) + -0x3350)" ( (binary_expression "*(int *)(pcVar30 + 0x3e9fb0) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar30 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9fb0)" ( (binary_expression "pcVar30 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea784) + -0x3350" (pointer_expression "*(int *)(pcVar30 + 0x3ea784)" * (cast_expression "(int *)(pcVar30 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea784)" ( (binary_expression "pcVar30 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar15 = 0xe3;" (assignment_expression "sVar15 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3ea764);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3ea764)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3ea764)" * (cast_expression "(code **)(pcVar30 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea764)" ( (binary_expression "pcVar30 + 0x3ea764" identifier + number_literal) ))))) ;) (expression_statement "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574);" (assignment_expression "pOVar18 = (Output_file *)(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x3e9fb0) + 0x3574)" ( (binary_expression "*(int *)(pcVar30 + 0x3e9fb0) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar30 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9fb0)" ( (binary_expression "pcVar30 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ea784) + -0x3a3c);" (call_expression "(*pcVar29)(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ea784) + -0x3a3c)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(pOVar18,0xe3,*(int *)(pcVar30 + 0x3ea784) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea784) + -0x3a3c" (pointer_expression "*(int *)(pcVar30 + 0x3ea784)" * (cast_expression "(int *)(pcVar30 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea784)" ( (binary_expression "pcVar30 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 2 < 0) {\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea580))\n              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar20 = (Output_file *)pOVar18[1].name_;\n    if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);\n    }\n    (**(code **)(pcVar29 + 0x3ea580))\n              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350);\n  }" { (expression_statement "pOVar20 = (Output_file *)pOVar18[1].name_;" (assignment_expression "pOVar20 = (Output_file *)pOVar18[1].name_" identifier = (cast_expression "(Output_file *)pOVar18[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar18[1].name_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar18[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);\n    }" if (parenthesized_expression "(*(int *)&pOVar18[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar18[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar18[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar18[1].file_size_" * (cast_expression "(int *)&pOVar18[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[1].file_size_" & (field_expression "pOVar18[1].file_size_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);\n    }" { (if_statement "if (-1 < (int)pOVar20) {\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar20)" ( (binary_expression "-1 < (int)pOVar20" number_literal < (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;\n        pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));\n        pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);\n        if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_;" (assignment_expression "uVar24 = *(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" identifier = (binary_expression "*(uint *)&pOVar18->map_is_anonymous_ + pOVar18[1].o_" (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_));" (assignment_expression "pcVar14 = (char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_))" ( (binary_expression "(int)&pOVar20->name_ +\n                          (uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < *(uint *)&pOVar18->map_is_anonymous_)" ( (binary_expression "uVar24 < *(uint *)&pOVar18->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar18->map_is_anonymous_" * (cast_expression "(uint *)&pOVar18->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18->map_is_anonymous_" & (field_expression "pOVar18->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14);" (assignment_expression "pOVar20 = (Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar15 + 8) < (int)pcVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar15 + 8) < (int)pcVar14)" ( (binary_expression "(int)*(char **)(sVar15 + 8) < (int)pcVar14" (cast_expression "(int)*(char **)(sVar15 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))) {\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))))" ( (binary_expression "(pOVar20 == (Output_file *)0x0) &&\n           ((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" (parenthesized_expression "(pOVar20 == (Output_file *)0x0)" ( (binary_expression "pOVar20 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc)))" ( (binary_expression "*(char **)(sVar15 + 8) != pcVar14 || (uVar24 <= *(uint *)(sVar15 + 0xc))" (binary_expression "*(char **)(sVar15 + 8) != pcVar14" (pointer_expression "*(char **)(sVar15 + 8)" * (cast_expression "(char **)(sVar15 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar15 + 8)" ( (binary_expression "sVar15 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar24 <= *(uint *)(sVar15 + 0xc))" ( (binary_expression "uVar24 <= *(uint *)(sVar15 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar15 + 0xc)" * (cast_expression "(uint *)(sVar15 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0xc)" ( (binary_expression "sVar15 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          uVar22 = *(uint *)&pOVar18[2].file_size_;\n          uVar24 = (uint)pOVar18[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);\n          iVar4 = *(int *)(pOVar18[2].name_ + 0x18);\n          piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          puVar26 = pOVar18[2].base_;\n          uVar24._0_1_ = pOVar18[2].map_is_anonymous_;\n          uVar24._1_1_ = pOVar18[2].map_is_allocated_;\n          uVar24._2_1_ = pOVar18[2].is_temporary_;\n          uVar24._3_1_ = pOVar18[2].field_0x17;\n          piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          pcVar14 = pOVar18[3].name_;\n          uVar24 = pOVar18[3].o_;\n          piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22 = *(uint *)&pOVar18[3].file_size_;\n          uVar24 = (uint)pOVar18[3].file_size_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          uVar22._0_1_ = pOVar18[3].map_is_anonymous_;\n          uVar22._1_1_ = pOVar18[3].map_is_allocated_;\n          uVar22._2_1_ = pOVar18[3].is_temporary_;\n          uVar22._3_1_ = pOVar18[3].field_0x17;\n          puVar26 = pOVar18[3].base_;\n          piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;\n          if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }\n          uVar24 = *(uint *)(iVar4 + 0x30);\n          uVar22 = *(uint *)(iVar4 + 0x34);\n          piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "uVar22 = *(uint *)&pOVar18[2].file_size_;" (assignment_expression "uVar22 = *(uint *)&pOVar18[2].file_size_" identifier = (pointer_expression "*(uint *)&pOVar18[2].file_size_" * (cast_expression "(uint *)&pOVar18[2].file_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[2].file_size_" & (field_expression "pOVar18[2].file_size_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar24 = (uint)pOVar18[2].file_size_;" (assignment_expression "uVar24 = (uint)pOVar18[2].file_size_" identifier = (cast_expression "(uint)pOVar18[2].file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar18[2].file_size_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_);" (assignment_expression "piVar10 = (int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" identifier = (cast_expression "(int *)(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar15 + 0x10) + pOVar18[1].o_)" ( (binary_expression "*(int *)(sVar15 + 0x10) + pOVar18[1].o_" (pointer_expression "*(int *)(sVar15 + 0x10)" * (cast_expression "(int *)(sVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar15 + 0x10)" ( (binary_expression "sVar15 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar18[1].o_" (subscript_expression "pOVar18[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "iVar4 = *(int *)(pOVar18[2].name_ + 0x18);" (assignment_expression "iVar4 = *(int *)(pOVar18[2].name_ + 0x18)" identifier = (pointer_expression "*(int *)(pOVar18[2].name_ + 0x18)" * (cast_expression "(int *)(pOVar18[2].name_ + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar18[2].name_ + 0x18)" ( (binary_expression "pOVar18[2].name_ + 0x18" (field_expression "pOVar18[2].name_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[1] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar10 = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar10" * identifier) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar26 = pOVar18[2].base_;" (assignment_expression "puVar26 = pOVar18[2].base_" identifier = (field_expression "pOVar18[2].base_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24._0_1_ = pOVar18[2].map_is_anonymous_;" (assignment_expression "uVar24._0_1_ = pOVar18[2].map_is_anonymous_" (field_expression "uVar24._0_1_" identifier . field_identifier) = (field_expression "pOVar18[2].map_is_anonymous_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24._1_1_ = pOVar18[2].map_is_allocated_;" (assignment_expression "uVar24._1_1_ = pOVar18[2].map_is_allocated_" (field_expression "uVar24._1_1_" identifier . field_identifier) = (field_expression "pOVar18[2].map_is_allocated_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24._2_1_ = pOVar18[2].is_temporary_;" (assignment_expression "uVar24._2_1_ = pOVar18[2].is_temporary_" (field_expression "uVar24._2_1_" identifier . field_identifier) = (field_expression "pOVar18[2].is_temporary_" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24._3_1_ = pOVar18[2].field_0x17;" (assignment_expression "uVar24._3_1_ = pOVar18[2].field_0x17" (field_expression "uVar24._3_1_" identifier . field_identifier) = (field_expression "pOVar18[2].field_0x17" (subscript_expression "pOVar18[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[2] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10)" ( (binary_expression "((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10" (binary_expression "((uint)puVar26 >> 0x10) << 0x18" (parenthesized_expression "((uint)puVar26 >> 0x10)" ( (binary_expression "(uint)puVar26 >> 0x10" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)puVar26 >> 0x18) << 0x10" (parenthesized_expression "((uint)puVar26 >> 0x18)" ( (binary_expression "(uint)puVar26 >> 0x18" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff)" ( (binary_expression "((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff" (binary_expression "((uint)puVar26 & 0xff) << 8" (parenthesized_expression "((uint)puVar26 & 0xff)" ( (binary_expression "(uint)puVar26 & 0xff" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)puVar26 >> 8 & 0xff" (binary_expression "(uint)puVar26 >> 8" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[1] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar14 = pOVar18[3].name_;" (assignment_expression "pcVar14 = pOVar18[3].name_" identifier = (field_expression "pOVar18[3].name_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar24 = pOVar18[3].o_;" (assignment_expression "uVar24 = pOVar18[3].o_" identifier = (field_expression "pOVar18[3].o_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[3] = ((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = (binary_expression "((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10)" ( (binary_expression "((uint)pcVar14 >> 0x10) << 0x18 | ((uint)pcVar14 >> 0x18) << 0x10" (binary_expression "((uint)pcVar14 >> 0x10) << 0x18" (parenthesized_expression "((uint)pcVar14 >> 0x10)" ( (binary_expression "(uint)pcVar14 >> 0x10" (cast_expression "(uint)pcVar14" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)pcVar14 >> 0x18) << 0x10" (parenthesized_expression "((uint)pcVar14 >> 0x18)" ( (binary_expression "(uint)pcVar14 >> 0x18" (cast_expression "(uint)pcVar14" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff)" ( (binary_expression "((uint)pcVar14 & 0xff) << 8 | (uint)pcVar14 >> 8 & 0xff" (binary_expression "((uint)pcVar14 & 0xff) << 8" (parenthesized_expression "((uint)pcVar14 & 0xff)" ( (binary_expression "(uint)pcVar14 & 0xff" (cast_expression "(uint)pcVar14" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)pcVar14 >> 8 & 0xff" (binary_expression "(uint)pcVar14 >> 8" (cast_expression "(uint)pcVar14" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[2] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar22 = *(uint *)&pOVar18[3].file_size_;" (assignment_expression "uVar22 = *(uint *)&pOVar18[3].file_size_" identifier = (pointer_expression "*(uint *)&pOVar18[3].file_size_" * (cast_expression "(uint *)&pOVar18[3].file_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar18[3].file_size_" & (field_expression "pOVar18[3].file_size_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar24 = (uint)pOVar18[3].file_size_;" (assignment_expression "uVar24 = (uint)pOVar18[3].file_size_" identifier = (cast_expression "(uint)pOVar18[3].file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar18[3].file_size_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[3] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar22._0_1_ = pOVar18[3].map_is_anonymous_;" (assignment_expression "uVar22._0_1_ = pOVar18[3].map_is_anonymous_" (field_expression "uVar22._0_1_" identifier . field_identifier) = (field_expression "pOVar18[3].map_is_anonymous_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar22._1_1_ = pOVar18[3].map_is_allocated_;" (assignment_expression "uVar22._1_1_ = pOVar18[3].map_is_allocated_" (field_expression "uVar22._1_1_" identifier . field_identifier) = (field_expression "pOVar18[3].map_is_allocated_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar22._2_1_ = pOVar18[3].is_temporary_;" (assignment_expression "uVar22._2_1_ = pOVar18[3].is_temporary_" (field_expression "uVar22._2_1_" identifier . field_identifier) = (field_expression "pOVar18[3].is_temporary_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar22._3_1_ = pOVar18[3].field_0x17;" (assignment_expression "uVar22._3_1_ = pOVar18[3].field_0x17" (field_expression "uVar22._3_1_" identifier . field_identifier) = (field_expression "pOVar18[3].field_0x17" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar26 = pOVar18[3].base_;" (assignment_expression "puVar26 = pOVar18[3].base_" identifier = (field_expression "pOVar18[3].base_" (subscript_expression "pOVar18[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[4] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[5] = ((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = (binary_expression "((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10)" ( (binary_expression "((uint)puVar26 >> 0x10) << 0x18 | ((uint)puVar26 >> 0x18) << 0x10" (binary_expression "((uint)puVar26 >> 0x10) << 0x18" (parenthesized_expression "((uint)puVar26 >> 0x10)" ( (binary_expression "(uint)puVar26 >> 0x10" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)puVar26 >> 0x18) << 0x10" (parenthesized_expression "((uint)puVar26 >> 0x18)" ( (binary_expression "(uint)puVar26 >> 0x18" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff)" ( (binary_expression "((uint)puVar26 & 0xff) << 8 | (uint)puVar26 >> 8 & 0xff" (binary_expression "((uint)puVar26 & 0xff) << 8" (parenthesized_expression "((uint)puVar26 & 0xff)" ( (binary_expression "(uint)puVar26 & 0xff" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)puVar26 >> 8 & 0xff" (binary_expression "(uint)puVar26 >> 8" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (iVar4 == 0) {\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar10[5] = 0;\n            piVar10[6] = 0;\n            return;\n          }" { (expression_statement "piVar10[5] = 0;" (assignment_expression "piVar10[5] = 0" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[6] = 0;" (assignment_expression "piVar10[6] = 0" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar24 = *(uint *)(iVar4 + 0x30);" (assignment_expression "uVar24 = *(uint *)(iVar4 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x30)" * (cast_expression "(uint *)(iVar4 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(uint *)(iVar4 + 0x34);" (assignment_expression "uVar22 = *(uint *)(iVar4 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x34)" * (cast_expression "(uint *)(iVar4 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[6] = (((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = (binary_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10)" ( (binary_expression "(uVar24 >> 0x10) << 0x18 | (uVar24 >> 0x18) << 0x10" (binary_expression "(uVar24 >> 0x10) << 0x18" (parenthesized_expression "(uVar24 >> 0x10)" ( (binary_expression "uVar24 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar24 >> 0x18) << 0x10" (parenthesized_expression "(uVar24 >> 0x18)" ( (binary_expression "uVar24 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff)" ( (binary_expression "(uVar24 & 0xff) << 8 | uVar24 >> 8 & 0xff" (binary_expression "(uVar24 & 0xff) << 8" (parenthesized_expression "(uVar24 & 0xff)" ( (binary_expression "uVar24 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar24 >> 8 & 0xff" (binary_expression "uVar24 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[5] = (((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = (binary_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10)" ( (binary_expression "(uVar22 >> 0x10) << 0x18 | (uVar22 >> 0x18) << 0x10" (binary_expression "(uVar22 >> 0x10) << 0x18" (parenthesized_expression "(uVar22 >> 0x10)" ( (binary_expression "uVar22 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar22 >> 0x18) << 0x10" (parenthesized_expression "(uVar22 >> 0x18)" ( (binary_expression "uVar22 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff)" ( (binary_expression "(uVar22 & 0xff) << 8 | uVar22 >> 8 & 0xff" (binary_expression "(uVar22 & 0xff) << 8" (parenthesized_expression "(uVar22 & 0xff)" ( (binary_expression "uVar22 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar22 >> 8 & 0xff" (binary_expression "uVar22 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20);" (call_expression "get_output_view\n                (pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20)" identifier (argument_list "(pOVar18,CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4),sVar15,pOVar20)" ( identifier , (call_expression "CONCAT44(pcVar29 + 0x3f1d90,in_stack_fffffed4)" identifier (argument_list "(pcVar29 + 0x3f1d90,in_stack_fffffed4)" ( (binary_expression "pcVar29 + 0x3f1d90" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar29 + 0x3ea580))\n              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350);" (call_expression "(**(code **)(pcVar29 + 0x3ea580))\n              (*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar29 + 0x3ea580))" ( (pointer_expression "**(code **)(pcVar29 + 0x3ea580)" * (pointer_expression "*(code **)(pcVar29 + 0x3ea580)" * (cast_expression "(code **)(pcVar29 + 0x3ea580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea580)" ( (binary_expression "pcVar29 + 0x3ea580" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea5a0) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3e9dcc) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3e9dcc)" * (cast_expression "(int *)(pcVar29 + 0x3e9dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3e9dcc)" ( (binary_expression "pcVar29 + 0x3e9dcc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea5a0) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar29 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea5a0)" ( (binary_expression "pcVar29 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3ea580);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3ea580)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3ea580)" * (cast_expression "(code **)(pcVar29 + 0x3ea580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea580)" ( (binary_expression "pcVar29 + 0x3ea580" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c);" (call_expression "(*pcVar30)(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(*(int *)(pcVar29 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c)" ( (binary_expression "*(int *)(pcVar29 + 0x3e9dcc) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3e9dcc)" * (cast_expression "(int *)(pcVar29 + 0x3e9dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3e9dcc)" ( (binary_expression "pcVar29 + 0x3e9dcc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea5a0) + -0x3a3c" (pointer_expression "*(int *)(pcVar29 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar29 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea5a0)" ( (binary_expression "pcVar29 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3ea3cc);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3ea3cc)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3ea3cc)" * (cast_expression "(code **)(pcVar30 + 0x3ea3cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea3cc)" ( (binary_expression "pcVar30 + 0x3ea3cc" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar30 + 0x3e9c18) + 0x3574;" (assignment_expression "iVar4 = *(int *)(pcVar30 + 0x3e9c18) + 0x3574" identifier = (binary_expression "*(int *)(pcVar30 + 0x3e9c18) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9c18)" * (cast_expression "(int *)(pcVar30 + 0x3e9c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9c18)" ( (binary_expression "pcVar30 + 0x3e9c18" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar29)(iVar4,0xc5,*(int *)(pcVar30 + 0x3ea3ec) + -0x3478);" (call_expression "(*pcVar29)(iVar4,0xc5,*(int *)(pcVar30 + 0x3ea3ec) + -0x3478)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar4,0xc5,*(int *)(pcVar30 + 0x3ea3ec) + -0x3478)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea3ec) + -0x3478" (pointer_expression "*(int *)(pcVar30 + 0x3ea3ec)" * (cast_expression "(int *)(pcVar30 + 0x3ea3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea3ec)" ( (binary_expression "pcVar30 + 0x3ea3ec" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) == 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3ea398);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3ea398)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3ea398)" * (cast_expression "(code **)(pcVar29 + 0x3ea398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea398)" ( (binary_expression "pcVar29 + 0x3ea398" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)(*(int *)(pcVar29 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea3b8) + -0x3350);" (call_expression "(*pcVar30)(*(int *)(pcVar29 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea3b8) + -0x3350)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(*(int *)(pcVar29 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea3b8) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3e9be4) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3e9be4)" * (cast_expression "(int *)(pcVar29 + 0x3e9be4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3e9be4)" ( (binary_expression "pcVar29 + 0x3e9be4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea3b8) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3ea3b8)" * (cast_expression "(int *)(pcVar29 + 0x3ea3b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea3b8)" ( (binary_expression "pcVar29 + 0x3ea3b8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3ea338);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3ea338)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3ea338)" * (cast_expression "(code **)(pcVar30 + 0x3ea338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea338)" ( (binary_expression "pcVar30 + 0x3ea338" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar30 + 0x3e9b84) + 0x3574;" (assignment_expression "iVar4 = *(int *)(pcVar30 + 0x3e9b84) + 0x3574" identifier = (binary_expression "*(int *)(pcVar30 + 0x3e9b84) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9b84)" * (cast_expression "(int *)(pcVar30 + 0x3e9b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9b84)" ( (binary_expression "pcVar30 + 0x3e9b84" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea358) + -0x3350);" (call_expression "(*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea358) + -0x3350)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea358) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea358) + -0x3350" (pointer_expression "*(int *)(pcVar30 + 0x3ea358)" * (cast_expression "(int *)(pcVar30 + 0x3ea358)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea358)" ( (binary_expression "pcVar30 + 0x3ea358" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) == 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3ea304);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3ea304)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3ea304)" * (cast_expression "(code **)(pcVar29 + 0x3ea304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea304)" ( (binary_expression "pcVar29 + 0x3ea304" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar29 + 0x3e9b50) + 0x3574;" (assignment_expression "iVar4 = *(int *)(pcVar29 + 0x3e9b50) + 0x3574" identifier = (binary_expression "*(int *)(pcVar29 + 0x3e9b50) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3e9b50)" * (cast_expression "(int *)(pcVar29 + 0x3e9b50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3e9b50)" ( (binary_expression "pcVar29 + 0x3e9b50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar30)(iVar4,0xcf,*(int *)(pcVar29 + 0x3ea324) + -0x3350);" (call_expression "(*pcVar30)(iVar4,0xcf,*(int *)(pcVar29 + 0x3ea324) + -0x3350)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(iVar4,0xcf,*(int *)(pcVar29 + 0x3ea324) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea324) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3ea324)" * (cast_expression "(int *)(pcVar29 + 0x3ea324)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea324)" ( (binary_expression "pcVar29 + 0x3ea324" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar4 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) == 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (-1 < *(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1) {\n    pcVar29 = *(code **)(pcVar30 + 0x3ea2a4);\n    iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574;\n    (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350);\n    if (*(int *)(iVar4 + 0x14) == 0) {\n      return;\n    }\n    if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n      return;\n    }\n    pcVar30 = *(code **)(pcVar29 + 0x3ea244);\n    (*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350);\n    this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574);\n    (**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc);\n    ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n              ._M_impl._M_start;\n    if (*(char *)&ppVar17[1].second == '\0') {\n      Target_mips<64,_false>::is_output_micromips(this_00);\n      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n    }\n    iVar4 = 0x10;\n    if ((int)(ppVar17[1].first << 6) < 0) {\n      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }\n    }\n    else {\n      iVar4 = 0x14;\n    }\n    if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n      this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);\n      *(undefined4 *)&this_00->field_0x10 = 0;\n      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n  }" if (parenthesized_expression "(-1 < *(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1)" ( (binary_expression "-1 < *(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1" number_literal < (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal)) )) (compound_statement "{\n    pcVar29 = *(code **)(pcVar30 + 0x3ea2a4);\n    iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574;\n    (*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350);\n    if (*(int *)(iVar4 + 0x14) == 0) {\n      return;\n    }\n    if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n      return;\n    }\n    pcVar30 = *(code **)(pcVar29 + 0x3ea244);\n    (*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350);\n    this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574);\n    (**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc);\n    ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n              ._M_impl._M_start;\n    if (*(char *)&ppVar17[1].second == '\0') {\n      Target_mips<64,_false>::is_output_micromips(this_00);\n      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n    }\n    iVar4 = 0x10;\n    if ((int)(ppVar17[1].first << 6) < 0) {\n      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }\n    }\n    else {\n      iVar4 = 0x14;\n    }\n    if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n      this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);\n      *(undefined4 *)&this_00->field_0x10 = 0;\n      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n  }" { (expression_statement "pcVar29 = *(code **)(pcVar30 + 0x3ea2a4);" (assignment_expression "pcVar29 = *(code **)(pcVar30 + 0x3ea2a4)" identifier = (pointer_expression "*(code **)(pcVar30 + 0x3ea2a4)" * (cast_expression "(code **)(pcVar30 + 0x3ea2a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea2a4)" ( (binary_expression "pcVar30 + 0x3ea2a4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574;" (assignment_expression "iVar4 = *(int *)(pcVar30 + 0x3e9af0) + 0x3574" identifier = (binary_expression "*(int *)(pcVar30 + 0x3e9af0) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9af0)" * (cast_expression "(int *)(pcVar30 + 0x3e9af0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9af0)" ( (binary_expression "pcVar30 + 0x3e9af0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350);" (call_expression "(*pcVar29)(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(iVar4,0xcf,*(int *)(pcVar30 + 0x3ea2c4) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea2c4) + -0x3350" (pointer_expression "*(int *)(pcVar30 + 0x3ea2c4)" * (cast_expression "(int *)(pcVar30 + 0x3ea2c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea2c4)" ( (binary_expression "pcVar30 + 0x3ea2c4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar4 + 0x14) == 0) {\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x14) == 0" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0) {\n      return;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar4 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pcVar30 = *(code **)(pcVar29 + 0x3ea244);" (assignment_expression "pcVar30 = *(code **)(pcVar29 + 0x3ea244)" identifier = (pointer_expression "*(code **)(pcVar29 + 0x3ea244)" * (cast_expression "(code **)(pcVar29 + 0x3ea244)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x3ea244)" ( (binary_expression "pcVar29 + 0x3ea244" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350);" (call_expression "(*pcVar30)(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(*(int *)(pcVar29 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar29 + 0x3ea264) + -0x3350)" ( (binary_expression "*(int *)(pcVar29 + 0x3e9a90) + 0x3574" (pointer_expression "*(int *)(pcVar29 + 0x3e9a90)" * (cast_expression "(int *)(pcVar29 + 0x3e9a90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3e9a90)" ( (binary_expression "pcVar29 + 0x3e9a90" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar29 + 0x3ea264) + -0x3350" (pointer_expression "*(int *)(pcVar29 + 0x3ea264)" * (cast_expression "(int *)(pcVar29 + 0x3ea264)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x3ea264)" ( (binary_expression "pcVar29 + 0x3ea264" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574);" (assignment_expression "this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574)" identifier = (call_expression "(Target_mips<64,_false> *)(*(int *)(pcVar30 + 0x3e9a30) + 0x3574)" (parenthesized_expression "(Target_mips<64,_false> *)" ( (comma_expression "Target_mips<64,_false> *" (binary_expression "Target_mips<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(*(int *)(pcVar30 + 0x3e9a30) + 0x3574)" ( (binary_expression "*(int *)(pcVar30 + 0x3e9a30) + 0x3574" (pointer_expression "*(int *)(pcVar30 + 0x3e9a30)" * (cast_expression "(int *)(pcVar30 + 0x3e9a30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3e9a30)" ( (binary_expression "pcVar30 + 0x3e9a30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc);" (call_expression "(**(code **)(pcVar30 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc)" (parenthesized_expression "(**(code **)(pcVar30 + 0x3ea1e4))" ( (pointer_expression "**(code **)(pcVar30 + 0x3ea1e4)" * (pointer_expression "*(code **)(pcVar30 + 0x3ea1e4)" * (cast_expression "(code **)(pcVar30 + 0x3ea1e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x3ea1e4)" ( (binary_expression "pcVar30 + 0x3ea1e4" identifier + number_literal) ))))) )) (argument_list "(this_00,0x218,*(int *)(pcVar30 + 0x3ea204) + -0x39fc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0x3ea204) + -0x39fc" (pointer_expression "*(int *)(pcVar30 + 0x3ea204)" * (cast_expression "(int *)(pcVar30 + 0x3ea204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x3ea204)" ( (binary_expression "pcVar30 + 0x3ea204" identifier + number_literal) )))) + number_literal) ))) ;) (ERROR "ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std::pair<unsigned_int" (assignment_expression "ppVar17 = (this_00->mips_mach_extensions_).\n              super__Vector_base<std" identifier = (binary_expression "(this_00->mips_mach_extensions_).\n              super__Vector_base<std" (field_expression "(this_00->mips_mach_extensions_).\n              super__Vector_base" (parenthesized_expression "(this_00->mips_mach_extensions_)" ( (field_expression "this_00->mips_mach_extensions_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n              ._M_impl._M_start;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n              ._M_impl._M_start" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n              ._M_impl._M_start" (field_expression "_unsigned_int>_>_>\n              ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (*(char *)&ppVar17[1].second == '\0') {\n      Target_mips<64,_false>::is_output_micromips(this_00);\n      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n    }" if (parenthesized_expression "(*(char *)&ppVar17[1].second == '\0')" ( (binary_expression "*(char *)&ppVar17[1].second == '\0'" (pointer_expression "*(char *)&ppVar17[1].second" * (cast_expression "(char *)&ppVar17[1].second" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ppVar17[1].second" & (field_expression "ppVar17[1].second" (subscript_expression "ppVar17[1]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      Target_mips<64,_false>::is_output_micromips(this_00);\n      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n    }" { (expression_statement "Target_mips<64,_false>::is_output_micromips(this_00);" (comma_expression "Target_mips<64,_false>::is_output_micromips(this_00)" (binary_expression "Target_mips<64" identifier < number_literal) , (binary_expression "_false>::is_output_micromips(this_00)" identifier > (ERROR "::" : :) (call_expression "is_output_micromips(this_00)" identifier (argument_list "(this_00)" ( identifier ))))) ;) (if_statement "if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }" if (parenthesized_expression "((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3))" ( (binary_expression "(-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)" (parenthesized_expression "(-1 < (int)this_00->got_plt_ << 1)" ( (binary_expression "-1 < (int)this_00->got_plt_ << 1" number_literal < (binary_expression "(int)this_00->got_plt_ << 1" (cast_expression "(int)this_00->got_plt_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->got_plt_" identifier -> field_identifier)) << number_literal)) )) && (parenthesized_expression "(-1 < (int)this_00->got_plt_ << 3)" ( (binary_expression "-1 < (int)this_00->got_plt_ << 3" number_literal < (binary_expression "(int)this_00->got_plt_ << 3" (cast_expression "(int)this_00->got_plt_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->got_plt_" identifier -> field_identifier)) << number_literal)) ))) )) (compound_statement "{\n        this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);\n        *(undefined4 *)&this_00->field_0x10 = 0;\n        *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n        return;\n      }" { (expression_statement "this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start);" (assignment_expression "this_00->got_ =\n             (Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start)" (field_expression "this_00->got_" identifier -> field_identifier) = (parenthesized_expression "(Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start)" ( (comma_expression "Mips_output_data_got<64,_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)" identifier > (pointer_expression "*)\n             ((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)" * (ERROR ")" )) (parenthesized_expression "((int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)" ( (comma_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std" (binary_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)::Target_mips<64" (binary_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base<(anonymous_namespace)" (binary_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_ +\n             (int)(this_00->dyn_relocs_).\n                  super__Vector_base" (binary_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_ +\n             (int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_" (cast_expression "(int)&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_" & (field_expression "((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)->sym_" (parenthesized_expression "((this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish)" ( (ERROR "(this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::" (comma_expression "(this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std" (binary_expression "(this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)::Target_mips<64" (binary_expression "(this_00->dyn_relocs_).\n                     super__Vector_base<(anonymous_namespace)" (field_expression "(this_00->dyn_relocs_).\n                     super__Vector_base" (parenthesized_expression "(this_00->dyn_relocs_)" ( (field_expression "this_00->dyn_relocs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_mips" : : identifier) < number_literal) , (comma_expression "_false>::Dyn_reloc,_std" (binary_expression "_false>::Dyn_reloc" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Target_mips<64,_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish" (binary_expression "Target_mips<64" identifier < number_literal) , (field_expression "_false>::Dyn_reloc>_>\n                     ._M_impl._M_finish" (field_expression "_false>::Dyn_reloc>_>\n                     ._M_impl" (binary_expression "_false>::Dyn_reloc>_" (binary_expression "_false>::Dyn_reloc" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) -> field_identifier))) + (cast_expression "(int)&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_" & (field_expression "((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)->sym_" (parenthesized_expression "((this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage)" ( (ERROR "(this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std::allocator<(anonymous_namespace)::" (comma_expression "(this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64,_false>::Dyn_reloc,_std" (binary_expression "(this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)::Target_mips<64" (binary_expression "(this_00->dyn_relocs_).\n                    super__Vector_base<(anonymous_namespace)" (field_expression "(this_00->dyn_relocs_).\n                    super__Vector_base" (parenthesized_expression "(this_00->dyn_relocs_)" ( (field_expression "this_00->dyn_relocs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_mips" : : identifier) < number_literal) , (comma_expression "_false>::Dyn_reloc,_std" (binary_expression "_false>::Dyn_reloc" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (comma_expression "Target_mips<64,_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage" (binary_expression "Target_mips<64" identifier < number_literal) , (field_expression "_false>::Dyn_reloc>_>\n                    ._M_impl._M_end_of_storage" (field_expression "_false>::Dyn_reloc>_>\n                    ._M_impl" (binary_expression "_false>::Dyn_reloc>_" (binary_expression "_false>::Dyn_reloc" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) -> field_identifier)))) + (cast_expression "(int)(this_00->dyn_relocs_).\n                  super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this_00->dyn_relocs_).\n                  super__Vector_base" (parenthesized_expression "(this_00->dyn_relocs_)" ( (field_expression "this_00->dyn_relocs_" identifier -> field_identifier) )) . field_identifier))) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_mips" : : identifier) < number_literal) , (comma_expression "_false>::Dyn_reloc,_std" (binary_expression "_false>::Dyn_reloc" identifier > (ERROR "::" : :) identifier) , identifier)) (ERROR "::allocator<(anonymous_namespace" : : identifier < ( identifier) ))))) (ERROR "::Target_mips<64,_false>::Dyn_reloc>_>\n                  ._M_impl._M_start" : : identifier < number_literal , identifier > : : identifier > identifier > . identifier . identifier) ))) ;) (expression_statement "*(undefined4 *)&this_00->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&this_00->field_0x10 = 0" (pointer_expression "*(undefined4 *)&this_00->field_0x10" * (cast_expression "(undefined4 *)&this_00->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->field_0x10" & (field_expression "this_00->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;" (assignment_expression "*(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40" (pointer_expression "*(byte *)&this_00->got_plt_" * (cast_expression "(byte *)&this_00->got_plt_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->got_plt_" & (field_expression "this_00->got_plt_" identifier -> field_identifier)))) = (binary_expression "*(byte *)&this_00->got_plt_ & 0xbf | 0x40" (binary_expression "*(byte *)&this_00->got_plt_ & 0xbf" (pointer_expression "*(byte *)&this_00->got_plt_" * (cast_expression "(byte *)&this_00->got_plt_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->got_plt_" & (field_expression "this_00->got_plt_" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) comment (expression_statement "Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00);" (comma_expression "Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00)" (binary_expression "Mips_output_data_mips_stubs<64" identifier < number_literal) , (binary_expression "_false>::set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00)" identifier > (ERROR "::" : :) (call_expression "set_final_data_size\n                ((Mips_output_data_mips_stubs<64,_false> *)this_00)" identifier (argument_list "((Mips_output_data_mips_stubs<64,_false> *)this_00)" ( (parenthesized_expression "(Mips_output_data_mips_stubs<64,_false> *)this_00)" ( (comma_expression "Mips_output_data_mips_stubs<64,_false> *)this_00" (binary_expression "Mips_output_data_mips_stubs<64" identifier < number_literal) , (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier))) )) ))))) ;) })) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (if_statement "if ((int)(ppVar17[1].first << 6) < 0) {\n      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }\n    }\n    else {\n      iVar4 = 0x14;\n    }" if (parenthesized_expression "((int)(ppVar17[1].first << 6) < 0)" ( (binary_expression "(int)(ppVar17[1].first << 6) < 0" (cast_expression "(int)(ppVar17[1].first << 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppVar17[1].first << 6)" ( (binary_expression "ppVar17[1].first << 6" (field_expression "ppVar17[1].first" (subscript_expression "ppVar17[1]" identifier [ number_literal ]) . field_identifier) << number_literal) ))) < number_literal) )) (compound_statement "{\n      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }\n    }" { (if_statement "if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {\n        iVar4 = 0x14;\n      }" if (parenthesized_expression "(*(char *)((int)&ppVar17[0x10].first + 2) != '\0')" ( (binary_expression "*(char *)((int)&ppVar17[0x10].first + 2) != '\0'" (pointer_expression "*(char *)((int)&ppVar17[0x10].first + 2)" * (cast_expression "(char *)((int)&ppVar17[0x10].first + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ppVar17[0x10].first + 2)" ( (binary_expression "(int)&ppVar17[0x10].first + 2" (cast_expression "(int)&ppVar17[0x10].first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ppVar17[0x10].first" & (field_expression "ppVar17[0x10].first" (subscript_expression "ppVar17[0x10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar4 = 0x14;\n      }" { (expression_statement "iVar4 = 0x14;" (assignment_expression "iVar4 = 0x14" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar4 = 0x14;\n    }" else (compound_statement "{\n      iVar4 = 0x14;\n    }" { (expression_statement "iVar4 = 0x14;" (assignment_expression "iVar4 = 0x14" identifier = number_literal) ;) }))) (if_statement "if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {\n      this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);\n      *(undefined4 *)&this_00->field_0x10 = 0;\n      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n      return;\n    }" if (parenthesized_expression "((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3))" ( (binary_expression "(-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)" (parenthesized_expression "(-1 < (int)this_00->got_plt_ << 1)" ( (binary_expression "-1 < (int)this_00->got_plt_ << 1" number_literal < (binary_expression "(int)this_00->got_plt_ << 1" (cast_expression "(int)this_00->got_plt_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->got_plt_" identifier -> field_identifier)) << number_literal)) )) && (parenthesized_expression "(-1 < (int)this_00->got_plt_ << 3)" ( (binary_expression "-1 < (int)this_00->got_plt_ << 3" number_literal < (binary_expression "(int)this_00->got_plt_ << 3" (cast_expression "(int)this_00->got_plt_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->got_plt_" identifier -> field_identifier)) << number_literal)) ))) )) (compound_statement "{\n      this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);\n      *(undefined4 *)&this_00->field_0x10 = 0;\n      *(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;\n      return;\n    }" { (expression_statement "this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_);" (assignment_expression "this_00->got_ =\n           (Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" (field_expression "this_00->got_" identifier -> field_identifier) = (parenthesized_expression "(Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" ( (comma_expression "Mips_output_data_got<64,_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" identifier > (pointer_expression "*)\n           (iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" * (ERROR ")" )) (parenthesized_expression "(iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" ( (comma_expression "iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_" (binary_expression "iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs<9" (binary_expression "iVar4 * (int)(this_00->copy_relocs_).super_Copy_relocs" identifier * (cast_expression "(int)(this_00->copy_relocs_).super_Copy_relocs" ( (type_descriptor "int" primitive_type) ) (field_expression "(this_00->copy_relocs_).super_Copy_relocs" (parenthesized_expression "(this_00->copy_relocs_)" ( (field_expression "this_00->copy_relocs_" identifier -> field_identifier) )) . field_identifier))) < number_literal) , (comma_expression "_64,_false>.dynbss_" identifier , (field_expression "_false>.dynbss_" identifier (ERROR ">" >) . field_identifier))) ))))) ))) ;) (expression_statement "*(undefined4 *)&this_00->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&this_00->field_0x10 = 0" (pointer_expression "*(undefined4 *)&this_00->field_0x10" * (cast_expression "(undefined4 *)&this_00->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->field_0x10" & (field_expression "this_00->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40;" (assignment_expression "*(byte *)&this_00->got_plt_ = *(byte *)&this_00->got_plt_ & 0xbf | 0x40" (pointer_expression "*(byte *)&this_00->got_plt_" * (cast_expression "(byte *)&this_00->got_plt_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->got_plt_" & (field_expression "this_00->got_plt_" identifier -> field_identifier)))) = (binary_expression "*(byte *)&this_00->got_plt_ & 0xbf | 0x40" (binary_expression "*(byte *)&this_00->got_plt_ & 0xbf" (pointer_expression "*(byte *)&this_00->got_plt_" * (cast_expression "(byte *)&this_00->got_plt_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->got_plt_" & (field_expression "this_00->got_plt_" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (return_statement "return;" return ;) })) comment (expression_statement "Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00);" (comma_expression "Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00)" (binary_expression "Mips_output_data_mips_stubs<64" identifier < number_literal) , (binary_expression "_false>::set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00)" identifier > (ERROR "::" : :) (call_expression "set_final_data_size\n              ((Mips_output_data_mips_stubs<64,_false> *)this_00)" identifier (argument_list "((Mips_output_data_mips_stubs<64,_false> *)this_00)" ( (parenthesized_expression "(Mips_output_data_mips_stubs<64,_false> *)this_00)" ( (comma_expression "Mips_output_data_mips_stubs<64,_false> *)this_00" (binary_expression "Mips_output_data_mips_stubs<64" identifier < number_literal) , (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier))) )) ))))) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_000d6720(int param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}\n\n" (function_definition "void FUN_000d6720(int param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" primitive_type (function_declarator "FUN_000d6720(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" { (expression_statement "iVar10 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(param_1 + 0x20) << 1 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" { (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\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 "{\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar8 = *(uint *)(param_1 + 0x14) + iVar10;" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14) + iVar10" identifier = (binary_expression "*(uint *)(param_1 + 0x14) + iVar10" (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) )))) + identifier)) ;) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\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          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" { (expression_statement "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" identifier = (binary_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < *(uint *)(param_1 + 0x14))" ( (binary_expression "uVar8 < *(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) ))))) ))) + (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) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_2 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_2 + 8)" identifier <= (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))" ( (binary_expression "*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar2" (pointer_expression "*(int *)(param_2 + 8)" * (cast_expression "(int *)(param_2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar8 <= *(uint *)(param_2 + 0xc))" ( (binary_expression "uVar8 <= *(uint *)(param_2 + 0xc)" identifier <= (pointer_expression "*(uint *)(param_2 + 0xc)" * (cast_expression "(uint *)(param_2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" { (expression_statement "piVar9 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x34)" identifier = (pointer_expression "*(int **)(param_1 + 0x34)" * (cast_expression "(int **)(param_1 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = *(int **)(param_1 + 0x30);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x30)" identifier = (pointer_expression "*(int **)(param_1 + 0x30)" * (cast_expression "(int **)(param_1 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );" do (compound_statement "{\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            }" { (if_statement "if (piVar7 == piVar9) {\n                return;\n              }" if (parenthesized_expression "(piVar7 == piVar9)" ( (binary_expression "piVar7 == piVar9" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" { (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x34);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x34)" * (cast_expression "(uint *)(iVar3 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));" (assignment_expression "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" identifier = (cast_expression "(int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" ( (binary_expression "iVar2 + iVar10 + *(int *)(iVar3 + 0x44)" (binary_expression "iVar2 + iVar10" identifier + identifier) + (pointer_expression "*(int *)(iVar3 + 0x44)" * (cast_expression "(int *)(iVar3 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x44)" ( (binary_expression "iVar3 + 0x44" identifier + number_literal) ))))) )))) ;) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" if (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" ( (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" ( (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" * (cast_expression "(ushort *)(iVar3 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" * (cast_expression "(undefined2 *)piVar4" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" identifier = (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" * (cast_expression "(undefined2 *)(piVar4 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 2)" ( (binary_expression "piVar4 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" identifier = (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" * (cast_expression "(undefined2 *)(piVar4 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 3)" ( (binary_expression "piVar4 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0xe)" ( (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" * (cast_expression "(ushort *)((int)piVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 2)" ( (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" * (cast_expression "(ushort *)(piVar4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 1)" ( (binary_expression "piVar4 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" ( (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar1 >> 0x1e)" ( (binary_expression "uVar1 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" * (cast_expression "(ushort *)((int)piVar4 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 6)" ( (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" ( (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1) >> 8)" ( (binary_expression "(uVar8 >> 1) >> 8" (parenthesized_expression "(uVar8 >> 1)" ( (binary_expression "uVar8 >> 1" identifier >> number_literal) )) >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" * (cast_expression "(ushort *)((int)piVar4 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 10)" ( (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 & 0xff | 1) << 8)" ( (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" ( (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (piVar9 == piVar7) {\n                  return;\n                }" if (parenthesized_expression "(piVar9 == piVar7)" ( (binary_expression "piVar9 == piVar7" identifier == identifier) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" identifier = (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" ( (binary_expression "uVar8 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (pointer_expression "*piVar4" * identifier) = (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" ( (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" ( (binary_expression "uVar1 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" ( (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" ( (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a9c" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3350" identifier + number_literal) ))) ;) })) (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" identifier = number_literal) ;) (expression_statement "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar11 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(puVar6 + 0x20) << 2" number_literal < (binary_expression "*(int *)(puVar6 + 0x20) << 2" (pointer_expression "*(int *)(puVar6 + 0x20)" * (cast_expression "(int *)(puVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x20)" ( (binary_expression "puVar6 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" { (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a3c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = *(int *)(puVar6 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(puVar6 + 0x1c)" * (cast_expression "(int *)(puVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1c)" ( (binary_expression "puVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar6 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(puVar6 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar6 + 0x20) << 1" (pointer_expression "*(int *)(puVar6 + 0x20)" * (cast_expression "(int *)(puVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x20)" ( (binary_expression "puVar6 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" { (if_statement "if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(puVar6 + 0x10) == 0)" ( (binary_expression "*(int *)(puVar6 + 0x10) == 0" (pointer_expression "*(int *)(puVar6 + 0x10)" * (cast_expression "(int *)(puVar6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x10)" ( (binary_expression "puVar6 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" { (expression_statement "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;" (assignment_expression "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2" identifier = (binary_expression "*(uint *)(puVar6 + 0x14) + iVar2" (pointer_expression "*(uint *)(puVar6 + 0x14)" * (cast_expression "(uint *)(puVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x14)" ( (binary_expression "puVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(puVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(puVar6 + 0x18)" * (cast_expression "(int *)(puVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x18)" ( (binary_expression "puVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" { (expression_statement "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);" (assignment_expression "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" identifier = (binary_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < *(uint *)(puVar6 + 0x14))" ( (binary_expression "uVar8 < *(uint *)(puVar6 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar6 + 0x14)" * (cast_expression "(uint *)(puVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x14)" ( (binary_expression "puVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(puVar6 + 0x18)" * (cast_expression "(int *)(puVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x18)" ( (binary_expression "puVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" if (parenthesized_expression "((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))))" ( (binary_expression "(iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(iVar10 + 8))" ( (binary_expression "iVar3 <= *(int *)(iVar10 + 8)" identifier <= (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar3" (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar8 <= *(uint *)(iVar10 + 0xc))" ( (binary_expression "uVar8 <= *(uint *)(iVar10 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar10 + 0xc)" * (cast_expression "(uint *)(iVar10 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" { (expression_statement "piVar9 = *(int **)(puVar6 + 0x34);" (assignment_expression "piVar9 = *(int **)(puVar6 + 0x34)" identifier = (pointer_expression "*(int **)(puVar6 + 0x34)" * (cast_expression "(int **)(puVar6 + 0x34)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x34)" ( (binary_expression "puVar6 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = *(int **)(puVar6 + 0x30);" (assignment_expression "piVar7 = *(int **)(puVar6 + 0x30)" identifier = (pointer_expression "*(int **)(puVar6 + 0x30)" * (cast_expression "(int **)(puVar6 + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x30)" ( (binary_expression "puVar6 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x10)" identifier = (pointer_expression "*(int *)(iVar10 + 0x10)" * (cast_expression "(int *)(iVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );" do (compound_statement "{\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          }" { (if_statement "if (piVar7 == piVar9) {\n              return;\n            }" if (parenthesized_expression "(piVar7 == piVar9)" ( (binary_expression "piVar7 == piVar9" identifier == identifier) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (while_statement "while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" { (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x30);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x30)" * (cast_expression "(uint *)(iVar3 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x30)" ( (binary_expression "iVar3 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));" (assignment_expression "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" identifier = (cast_expression "(int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" ( (binary_expression "iVar10 + iVar2 + *(int *)(iVar3 + 0x3c)" (binary_expression "iVar10 + iVar2" identifier + identifier) + (pointer_expression "*(int *)(iVar3 + 0x3c)" * (cast_expression "(int *)(iVar3 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) ))))) )))) ;) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" if (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" ( (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" ( (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" * (cast_expression "(ushort *)(iVar3 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" * (cast_expression "(undefined2 *)piVar4" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" identifier = (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) + number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" * (cast_expression "(undefined2 *)(piVar4 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 2)" ( (binary_expression "piVar4 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" identifier = (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" ( (binary_expression "uVar8 | 1" identifier | number_literal) )) << number_literal)) ;) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" * (cast_expression "(undefined2 *)(piVar4 + 3)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 3)" ( (binary_expression "piVar4 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" * (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0xe)" ( (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" * (cast_expression "(ushort *)((int)piVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 2)" ( (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" ( (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))))) ;) (expression_statement "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" * (cast_expression "(ushort *)(piVar4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 1)" ( (binary_expression "piVar4 + 1" identifier + number_literal) )))) = (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" ( (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" ( (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar1 >> 0x1e)" ( (binary_expression "uVar1 >> 0x1e" identifier >> number_literal) )))) | number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" * (cast_expression "(ushort *)((int)piVar4 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 6)" ( (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 >> 1 & 0xff) << 8)" ( (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" ( (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" identifier >> number_literal) & number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)(uVar8 >> 9)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 9)" ( (binary_expression "uVar8 >> 9" identifier >> number_literal) ))) & number_literal))) ;) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" * (cast_expression "(ushort *)((int)piVar4 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 10)" ( (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar8 & 0xff | 1) << 8)" ( (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" ( (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" identifier & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal))) ;) (if_statement "if (piVar9 == piVar7) {\n                return;\n              }" if (parenthesized_expression "(piVar9 == piVar7)" ( (binary_expression "piVar9 == piVar7" identifier == identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" identifier = (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" ( (binary_expression "uVar8 << 4" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (pointer_expression "*piVar4" * identifier) = (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" ( (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" ( (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal) & number_literal) )) << number_literal) | (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" identifier + number_literal) >> number_literal)) )) * number_literal) + number_literal)) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10)" ( (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" ( (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) )) << number_literal) | (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" ( (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" ( (binary_expression "uVar1 | 0x8000000" identifier | number_literal) )) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" ( (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal))) ;) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" ( (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) >> number_literal)) )) * number_literal) + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x4584" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a9c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" ( (pointer_expression "**(code **)(puVar11 + 0x3eb104)" * (pointer_expression "*(code **)(puVar11 + 0x3eb104)" * (cast_expression "(code **)(puVar11 + 0x3eb104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3eb104)" ( (binary_expression "puVar11 + 0x3eb104" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" ( (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" * (cast_expression "(int *)(puVar11 + 0x3ea950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3ea950)" ( (binary_expression "puVar11 + 0x3ea950" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3350" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" * (cast_expression "(int *)(puVar11 + 0x3eb124)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3eb124)" ( (binary_expression "puVar11 + 0x3eb124" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (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 = (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 LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_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 IDENT = (binary_expression (parenthesized_expression ( (binary_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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) >> LIT) ))) & 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) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | LIT) )) << LIT) ))) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) & LIT) )) << LIT) | (binary_expression (binary_expression IDENT + LIT) >> LIT)) )) * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | LIT) )) >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) )) * LIT) + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (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 = (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 LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_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 IDENT = (binary_expression (parenthesized_expression ( (binary_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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) << LIT) ))) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & 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) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | LIT) )) << LIT) ))) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) & LIT) )) << LIT) | (binary_expression (binary_expression IDENT + LIT) >> LIT)) )) * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | LIT) )) >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) )) * LIT) + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_000d6720(int param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000d6720(int param_1,int param_2)" (identifier "FUN_000d6720") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  uint uVar5;\n  undefined *puVar6;\n  int *piVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined *puVar11;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }\n  iVar10 = 0xe3;\n  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar11 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }\n  iVar2 = *(int *)(puVar6 + 0x1c);\n  if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }\n  (**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) << 2 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 2" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar10 = *(int *)(param_1 + 0x1c);\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );\n  }" ({ "{") (expression_statement "iVar10 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) << 1 < 0" (binary_expression "*(int *)(param_1 + 0x20) << 1" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\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 "{\n        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }\n        FUN_000d5cdc();\n      }" ({ "{") (expression_statement "uVar8 = *(uint *)(param_1 + 0x14) + iVar10;" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14) + iVar10" (identifier "uVar8") (= "=") (binary_expression "*(uint *)(param_1 + 0x14) + iVar10" (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")) () ")")))) (+ "+") (identifier "iVar10"))) (; ";")) (if_statement "if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\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          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);\n          if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }\n        }" ({ "{") (expression_statement "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" (identifier "iVar2") (= "=") (binary_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(param_1 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < *(uint *)(param_1 + 0x14))" (( "(") (binary_expression "uVar8 < *(uint *)(param_1 + 0x14)" (identifier "uVar8") (< "<") (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")) () ")"))))) () ")"))) (+ "+") (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")) () ")")))))) (; ";")) (if_statement "if ((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" (if "if") (parenthesized_expression "((iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))))" (( "(") (binary_expression "(iVar2 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(param_2 + 8))" (( "(") (binary_expression "iVar2 <= *(int *)(param_2 + 8)" (identifier "iVar2") (<= "<=") (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc)))" (( "(") (binary_expression "*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar2" (pointer_expression "*(int *)(param_2 + 8)" (* "*") (cast_expression "(int *)(param_2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(uVar8 <= *(uint *)(param_2 + 0xc))" (( "(") (binary_expression "uVar8 <= *(uint *)(param_2 + 0xc)" (identifier "uVar8") (<= "<=") (pointer_expression "*(uint *)(param_2 + 0xc)" (* "*") (cast_expression "(uint *)(param_2 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            piVar9 = *(int **)(param_1 + 0x34);\n            piVar7 = *(int **)(param_1 + 0x30);\n            iVar2 = *(int *)(param_2 + 0x10);\n            do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );\n          }" ({ "{") (expression_statement "piVar9 = *(int **)(param_1 + 0x34);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x34)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(param_1 + 0x34)" (* "*") (cast_expression "(int **)(param_1 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar7 = *(int **)(param_1 + 0x30);" (assignment_expression "piVar7 = *(int **)(param_1 + 0x30)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(param_1 + 0x30)" (* "*") (cast_expression "(int **)(param_1 + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_2 + 0x10)" (identifier "iVar2") (= "=") (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")) () ")"))))) (; ";")) (do_statement "do {\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            } while( true );" (do "do") (compound_statement "{\n              if (piVar7 == piVar9) {\n                return;\n              }\n              while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }\n              piVar4[3] = 0;\n              uVar1 = (uVar8 << 4) >> 6;\n              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;\n              piVar7 = piVar7 + 1;\n              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n            }" ({ "{") (if_statement "if (piVar7 == piVar9) {\n                return;\n              }" (if "if") (parenthesized_expression "(piVar7 == piVar9)" (( "(") (binary_expression "piVar7 == piVar9" (identifier "piVar7") (== "==") (identifier "piVar9")) () ")")) (compound_statement "{\n                return;\n              }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (while_statement "while( true ) {\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                iVar3 = *piVar7;\n                uVar8 = *(uint *)(iVar3 + 0x34);\n                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));\n                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n                *(undefined2 *)piVar4 = 0xb941;\n                uVar5 = (uVar8 | 1) + 0x8000;\n                *(undefined2 *)(piVar4 + 2) = 0x3933;\n                uVar1 = (uVar8 | 1) << 5;\n                *(undefined2 *)(piVar4 + 3) = 0;\n                *(undefined2 *)((int)piVar4 + 0xe) = 0;\n                *(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n                *(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n                piVar7 = piVar7 + 1;\n                *(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;\n                *(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n                if (piVar9 == piVar7) {\n                  return;\n                }\n              }" ({ "{") (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" (identifier "iVar3") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x34);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x34)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x34)" (* "*") (cast_expression "(uint *)(iVar3 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));" (assignment_expression "piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" (identifier "piVar4") (= "=") (cast_expression "(int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + iVar10 + *(int *)(iVar3 + 0x44))" (( "(") (binary_expression "iVar2 + iVar10 + *(int *)(iVar3 + 0x44)" (binary_expression "iVar2 + iVar10" (identifier "iVar2") (+ "+") (identifier "iVar10")) (+ "+") (pointer_expression "*(int *)(iVar3 + 0x44)" (* "*") (cast_expression "(int *)(iVar3 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x44)" (( "(") (binary_expression "iVar3 + 0x44" (identifier "iVar3") (+ "+") (number_literal "0x44")) () ")"))))) () ")")))) (; ";")) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" (if "if") (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" (( "(") (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" (( "(") (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" (* "*") (cast_expression "(ushort *)(iVar3 + 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0x30")) () ")")) (!= "!=") (number_literal "0x20")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" (* "*") (cast_expression "(undefined2 *)piVar4" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar4"))) (= "=") (number_literal "0xb941")) (; ";")) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" (identifier "uVar5") (= "=") (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" (( "(") (binary_expression "uVar8 | 1" (identifier "uVar8") (| "|") (number_literal "1")) () ")")) (+ "+") (number_literal "0x8000"))) (; ";")) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" (* "*") (cast_expression "(undefined2 *)(piVar4 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 2)" (( "(") (binary_expression "piVar4 + 2" (identifier "piVar4") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0x3933")) (; ";")) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" (identifier "uVar1") (= "=") (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" (( "(") (binary_expression "uVar8 | 1" (identifier "uVar8") (| "|") (number_literal "1")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" (* "*") (cast_expression "(undefined2 *)(piVar4 + 3)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 3)" (( "(") (binary_expression "piVar4 + 3" (identifier "piVar4") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" (* "*") (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 0xe)" (( "(") (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 2)" (( "(") (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" (( "(") (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" (* "*") (cast_expression "(ushort *)(piVar4 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 1)" (( "(") (binary_expression "piVar4 + 1" (identifier "piVar4") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" (( "(") (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" (identifier "uVar1") (>> ">>") (number_literal "0x16")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar1 >> 0x1e)" (( "(") (binary_expression "uVar1 >> 0x1e" (identifier "uVar1") (>> ">>") (number_literal "0x1e")) () ")")))) (| "|") (number_literal "0xd4"))) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 6)" (( "(") (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar8 >> 1 & 0xff) << 8)" (( "(") (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" (( "(") (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" (identifier "uVar8") (>> ">>") (number_literal "1")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "(ushort)((uVar8 >> 1) >> 8) & 0xff" (call_expression "(ushort)((uVar8 >> 1) >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar8 >> 1) >> 8)" (( "(") (binary_expression "(uVar8 >> 1) >> 8" (parenthesized_expression "(uVar8 >> 1)" (( "(") (binary_expression "uVar8 >> 1" (identifier "uVar8") (>> ">>") (number_literal "1")) () ")")) (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff")))) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 10)" (( "(") (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar8 & 0xff | 1) << 8)" (( "(") (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" (( "(") (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) (| "|") (number_literal "1")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar8 >> 8)" (( "(") (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff")))) (; ";")) (if_statement "if (piVar9 == piVar7) {\n                  return;\n                }" (if "if") (parenthesized_expression "(piVar9 == piVar7)" (( "(") (binary_expression "piVar9 == piVar7" (identifier "piVar9") (== "==") (identifier "piVar7")) () ")")) (compound_statement "{\n                  return;\n                }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" (identifier "uVar1") (= "=") (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" (( "(") (binary_expression "uVar8 << 4" (identifier "uVar8") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                        0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" (( "(") (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" (identifier "uVar8") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" (identifier "uVar8") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x18"))) () ")")) (* "*") (number_literal "0x10000")) (+ "+") (number_literal "0x193c"))) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10)" (( "(") (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                           ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" (( "(") (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" (( "(") (binary_expression "uVar1 | 0x8000000" (identifier "uVar1") (| "|") (number_literal "0x8000000")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" (( "(") (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" (( "(") (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8"))) () ")")) (* "*") (number_literal "0x10000")) (+ "+") (number_literal "0x3927"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,\n                 PTR_s__s_004c1a50 + -0x3a9c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x4584")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x3a9c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x3a9c")) () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              );" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350\n              )" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x3350" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = 0xe3;" (assignment_expression "iVar10 = 0xe3" (identifier "iVar10") (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "puVar6") (= "=") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "puVar11 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar11 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar11") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (( "(") (identifier "puVar6") (, ",") (number_literal "0xe3") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (if_statement "if (-1 < *(int *)(puVar6 + 0x20) << 2) {\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(puVar6 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(puVar6 + 0x20) << 2" (pointer_expression "*(int *)(puVar6 + 0x20)" (* "*") (cast_expression "(int *)(puVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x20)" (( "(") (binary_expression "puVar6 + 0x20" (identifier "puVar6") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (compound_statement "{\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);\n    return;\n  }" ({ "{") (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x3eb104)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x3eb104)" (* "*") (cast_expression "(code **)(puVar11 + 0x3eb104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x3eb104)" (( "(") (binary_expression "puVar11 + 0x3eb104" (identifier "puVar11") (+ "+") (number_literal "0x3eb104")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c)" (( "(") (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" (* "*") (cast_expression "(int *)(puVar11 + 0x3ea950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3ea950)" (( "(") (binary_expression "puVar11 + 0x3ea950" (identifier "puVar11") (+ "+") (number_literal "0x3ea950")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a3c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" (* "*") (cast_expression "(int *)(puVar11 + 0x3eb124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3eb124)" (( "(") (binary_expression "puVar11 + 0x3eb124" (identifier "puVar11") (+ "+") (number_literal "0x3eb124")) () ")")))) (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(puVar6 + 0x1c);" (assignment_expression "iVar2 = *(int *)(puVar6 + 0x1c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar6 + 0x1c)" (* "*") (cast_expression "(int *)(puVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x1c)" (( "(") (binary_expression "puVar6 + 0x1c" (identifier "puVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar6 + 0x20) << 1 < 0) {\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar6 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(puVar6 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar6 + 0x20) << 1" (pointer_expression "*(int *)(puVar6 + 0x20)" (* "*") (cast_expression "(int *)(puVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x20)" (( "(") (binary_expression "puVar6 + 0x20" (identifier "puVar6") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(puVar6 + 0x10) == 0) {\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar6 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(puVar6 + 0x10) == 0" (pointer_expression "*(int *)(puVar6 + 0x10)" (* "*") (cast_expression "(int *)(puVar6 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x10)" (( "(") (binary_expression "puVar6 + 0x10" (identifier "puVar6") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;\n      if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }\n      FUN_000d5cdc();\n    }" ({ "{") (expression_statement "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;" (assignment_expression "uVar8 = *(uint *)(puVar6 + 0x14) + iVar2" (identifier "uVar8") (= "=") (binary_expression "*(uint *)(puVar6 + 0x14) + iVar2" (pointer_expression "*(uint *)(puVar6 + 0x14)" (* "*") (cast_expression "(uint *)(puVar6 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x14)" (( "(") (binary_expression "puVar6 + 0x14" (identifier "puVar6") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar2"))) (; ";")) (if_statement "if (-1 < *(int *)(puVar6 + 0x18)) {\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar6 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(puVar6 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(puVar6 + 0x18)" (* "*") (cast_expression "(int *)(puVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x18)" (( "(") (binary_expression "puVar6 + 0x18" (identifier "puVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);\n        if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }\n      }" ({ "{") (expression_statement "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);" (assignment_expression "iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" (identifier "iVar3") (= "=") (binary_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18)" (call_expression "(uint)(uVar8 < *(uint *)(puVar6 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < *(uint *)(puVar6 + 0x14))" (( "(") (binary_expression "uVar8 < *(uint *)(puVar6 + 0x14)" (identifier "uVar8") (< "<") (pointer_expression "*(uint *)(puVar6 + 0x14)" (* "*") (cast_expression "(uint *)(puVar6 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x14)" (( "(") (binary_expression "puVar6 + 0x14" (identifier "puVar6") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(puVar6 + 0x18)" (* "*") (cast_expression "(int *)(puVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x18)" (( "(") (binary_expression "puVar6 + 0x18" (identifier "puVar6") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" (if "if") (parenthesized_expression "((iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))))" (( "(") (binary_expression "(iVar3 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar3 <= *(int *)(iVar10 + 8))" (( "(") (binary_expression "iVar3 <= *(int *)(iVar10 + 8)" (identifier "iVar3") (<= "<=") (pointer_expression "*(int *)(iVar10 + 8)" (* "*") (cast_expression "(int *)(iVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar3" (pointer_expression "*(int *)(iVar10 + 8)" (* "*") (cast_expression "(int *)(iVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar3")) (|| "||") (parenthesized_expression "(uVar8 <= *(uint *)(iVar10 + 0xc))" (( "(") (binary_expression "uVar8 <= *(uint *)(iVar10 + 0xc)" (identifier "uVar8") (<= "<=") (pointer_expression "*(uint *)(iVar10 + 0xc)" (* "*") (cast_expression "(uint *)(iVar10 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xc)" (( "(") (binary_expression "iVar10 + 0xc" (identifier "iVar10") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          piVar9 = *(int **)(puVar6 + 0x34);\n          piVar7 = *(int **)(puVar6 + 0x30);\n          iVar10 = *(int *)(iVar10 + 0x10);\n          do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );\n        }" ({ "{") (expression_statement "piVar9 = *(int **)(puVar6 + 0x34);" (assignment_expression "piVar9 = *(int **)(puVar6 + 0x34)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(puVar6 + 0x34)" (* "*") (cast_expression "(int **)(puVar6 + 0x34)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x34)" (( "(") (binary_expression "puVar6 + 0x34" (identifier "puVar6") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "piVar7 = *(int **)(puVar6 + 0x30);" (assignment_expression "piVar7 = *(int **)(puVar6 + 0x30)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(puVar6 + 0x30)" (* "*") (cast_expression "(int **)(puVar6 + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x30)" (( "(") (binary_expression "puVar6 + 0x30" (identifier "puVar6") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar10 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x10)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar10 + 0x10)" (* "*") (cast_expression "(int *)(iVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (do_statement "do {\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          } while( true );" (do "do") (compound_statement "{\n            if (piVar7 == piVar9) {\n              return;\n            }\n            while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }\n            piVar4[3] = 0;\n            uVar1 = (uVar8 << 4) >> 6;\n            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;\n            piVar7 = piVar7 + 1;\n            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;\n            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;\n          }" ({ "{") (if_statement "if (piVar7 == piVar9) {\n              return;\n            }" (if "if") (parenthesized_expression "(piVar7 == piVar9)" (( "(") (binary_expression "piVar7 == piVar9" (identifier "piVar7") (== "==") (identifier "piVar9")) () ")")) (compound_statement "{\n              return;\n            }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (while_statement "while( true ) {\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              iVar3 = *piVar7;\n              uVar8 = *(uint *)(iVar3 + 0x30);\n              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));\n              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;\n              *(undefined2 *)piVar4 = 0xb941;\n              uVar5 = (uVar8 | 1) + 0x8000;\n              *(undefined2 *)(piVar4 + 2) = 0x3933;\n              uVar1 = (uVar8 | 1) << 5;\n              *(undefined2 *)(piVar4 + 3) = 0;\n              *(undefined2 *)((int)piVar4 + 0xe) = 0;\n              *(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);\n              *(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;\n              piVar7 = piVar7 + 1;\n              *(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;\n              *(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;\n              if (piVar9 == piVar7) {\n                return;\n              }\n            }" ({ "{") (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" (identifier "iVar3") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x30);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x30)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x30)" (* "*") (cast_expression "(uint *)(iVar3 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x30)" (( "(") (binary_expression "iVar3 + 0x30" (identifier "iVar3") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));" (assignment_expression "piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" (identifier "piVar4") (= "=") (cast_expression "(int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c))" (( "(") (binary_expression "iVar10 + iVar2 + *(int *)(iVar3 + 0x3c)" (binary_expression "iVar10 + iVar2" (identifier "iVar10") (+ "+") (identifier "iVar2")) (+ "+") (pointer_expression "*(int *)(iVar3 + 0x3c)" (* "*") (cast_expression "(int *)(iVar3 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x3c)" (( "(") (binary_expression "iVar3 + 0x3c" (identifier "iVar3") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")))) (; ";")) (if_statement "if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;" (if "if") (parenthesized_expression "((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20)" (( "(") (binary_expression "(*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20" (parenthesized_expression "(*(ushort *)(iVar3 + 0x28) & 0x30)" (( "(") (binary_expression "*(ushort *)(iVar3 + 0x28) & 0x30" (pointer_expression "*(ushort *)(iVar3 + 0x28)" (* "*") (cast_expression "(ushort *)(iVar3 + 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0x30")) () ")")) (!= "!=") (number_literal "0x20")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(undefined2 *)piVar4 = 0xb941;" (assignment_expression "*(undefined2 *)piVar4 = 0xb941" (pointer_expression "*(undefined2 *)piVar4" (* "*") (cast_expression "(undefined2 *)piVar4" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar4"))) (= "=") (number_literal "0xb941")) (; ";")) (expression_statement "uVar5 = (uVar8 | 1) + 0x8000;" (assignment_expression "uVar5 = (uVar8 | 1) + 0x8000" (identifier "uVar5") (= "=") (binary_expression "(uVar8 | 1) + 0x8000" (parenthesized_expression "(uVar8 | 1)" (( "(") (binary_expression "uVar8 | 1" (identifier "uVar8") (| "|") (number_literal "1")) () ")")) (+ "+") (number_literal "0x8000"))) (; ";")) (expression_statement "*(undefined2 *)(piVar4 + 2) = 0x3933;" (assignment_expression "*(undefined2 *)(piVar4 + 2) = 0x3933" (pointer_expression "*(undefined2 *)(piVar4 + 2)" (* "*") (cast_expression "(undefined2 *)(piVar4 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 2)" (( "(") (binary_expression "piVar4 + 2" (identifier "piVar4") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0x3933")) (; ";")) (expression_statement "uVar1 = (uVar8 | 1) << 5;" (assignment_expression "uVar1 = (uVar8 | 1) << 5" (identifier "uVar1") (= "=") (binary_expression "(uVar8 | 1) << 5" (parenthesized_expression "(uVar8 | 1)" (( "(") (binary_expression "uVar8 | 1" (identifier "uVar8") (| "|") (number_literal "1")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "*(undefined2 *)(piVar4 + 3) = 0;" (assignment_expression "*(undefined2 *)(piVar4 + 3) = 0" (pointer_expression "*(undefined2 *)(piVar4 + 3)" (* "*") (cast_expression "(undefined2 *)(piVar4 + 3)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 3)" (( "(") (binary_expression "piVar4 + 3" (identifier "piVar4") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)((int)piVar4 + 0xe) = 0;" (assignment_expression "*(undefined2 *)((int)piVar4 + 0xe) = 0" (pointer_expression "*(undefined2 *)((int)piVar4 + 0xe)" (* "*") (cast_expression "(undefined2 *)((int)piVar4 + 0xe)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 0xe)" (( "(") (binary_expression "(int)piVar4 + 0xe" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);" (assignment_expression "*(ushort *)((int)piVar4 + 2) =\n                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (pointer_expression "*(ushort *)((int)piVar4 + 2)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 2)" (( "(") (binary_expression "(int)piVar4 + 2" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)((uVar5 >> 0x10 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar5 >> 0x10 & 0xff) << 8)" (( "(") (binary_expression "(uVar5 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (call_expression "(ushort)(byte)(uVar5 >> 0x18)" (call_expression "(ushort)(byte)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;" (assignment_expression "*(ushort *)(piVar4 + 1) =\n                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (pointer_expression "*(ushort *)(piVar4 + 1)" (* "*") (cast_expression "(ushort *)(piVar4 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 1)" (( "(") (binary_expression "piVar4 + 1" (identifier "piVar4") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4" (binary_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e)" (call_expression "(ushort)((uVar1 >> 0x16 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar1 >> 0x16 & 0xff) << 8)" (( "(") (binary_expression "(uVar1 >> 0x16 & 0xff) << 8" (parenthesized_expression "(uVar1 >> 0x16 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x16 & 0xff" (binary_expression "uVar1 >> 0x16" (identifier "uVar1") (>> ">>") (number_literal "0x16")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (call_expression "(ushort)(uVar1 >> 0x1e)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar1 >> 0x1e)" (( "(") (binary_expression "uVar1 >> 0x1e" (identifier "uVar1") (>> ">>") (number_literal "0x1e")) () ")")))) (| "|") (number_literal "0xd4"))) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 6) =\n                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 6)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 6)" (( "(") (binary_expression "(int)piVar4 + 6" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)((uVar8 >> 1 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar8 >> 1 & 0xff) << 8)" (( "(") (binary_expression "(uVar8 >> 1 & 0xff) << 8" (parenthesized_expression "(uVar8 >> 1 & 0xff)" (( "(") (binary_expression "uVar8 >> 1 & 0xff" (binary_expression "uVar8 >> 1" (identifier "uVar8") (>> ">>") (number_literal "1")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "(ushort)(uVar8 >> 9) & 0xff" (call_expression "(ushort)(uVar8 >> 9)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar8 >> 9)" (( "(") (binary_expression "uVar8 >> 9" (identifier "uVar8") (>> ">>") (number_literal "9")) () ")"))) (& "&") (number_literal "0xff")))) (; ";")) (expression_statement "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;" (assignment_expression "*(ushort *)((int)piVar4 + 10) =\n                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (pointer_expression "*(ushort *)((int)piVar4 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar4 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 10)" (( "(") (binary_expression "(int)piVar4 + 10" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)((uVar8 & 0xff | 1) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar8 & 0xff | 1) << 8)" (( "(") (binary_expression "(uVar8 & 0xff | 1) << 8" (parenthesized_expression "(uVar8 & 0xff | 1)" (( "(") (binary_expression "uVar8 & 0xff | 1" (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) (| "|") (number_literal "1")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "(ushort)(uVar8 >> 8) & 0xff" (call_expression "(ushort)(uVar8 >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar8 >> 8)" (( "(") (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff")))) (; ";")) (if_statement "if (piVar9 == piVar7) {\n                return;\n              }" (if "if") (parenthesized_expression "(piVar9 == piVar7)" (( "(") (binary_expression "piVar9 == piVar7" (identifier "piVar9") (== "==") (identifier "piVar7")) () ")")) (compound_statement "{\n                return;\n              }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = (uVar8 << 4) >> 6;" (assignment_expression "uVar1 = (uVar8 << 4) >> 6" (identifier "uVar1") (= "=") (binary_expression "(uVar8 << 4) >> 6" (parenthesized_expression "(uVar8 << 4)" (( "(") (binary_expression "uVar8 << 4" (identifier "uVar8") (<< "<<") (number_literal "4")) () ")")) (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c;" (assignment_expression "*piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +\n                      0x193c" (binary_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000" (parenthesized_expression "((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18)" (( "(") (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18" (binary_expression "(uVar8 + 0x8000 >> 0x10 & 0xff) << 8" (parenthesized_expression "(uVar8 + 0x8000 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar8 + 0x8000 >> 0x10 & 0xff" (binary_expression "uVar8 + 0x8000 >> 0x10" (binary_expression "uVar8 + 0x8000" (identifier "uVar8") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 + 0x8000 >> 0x18" (binary_expression "uVar8 + 0x8000" (identifier "uVar8") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x18"))) () ")")) (* "*") (number_literal "0x10000")) (+ "+") (number_literal "0x193c"))) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;" (assignment_expression "piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +\n                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10)" (( "(") (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18 |\n                         ((uVar1 | 0x8000000) >> 0x18) << 0x10" (binary_expression "((uVar1 & 0xff0000) >> 0x10) << 0x18" (parenthesized_expression "((uVar1 & 0xff0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "((uVar1 | 0x8000000) >> 0x18) << 0x10" (parenthesized_expression "((uVar1 | 0x8000000) >> 0x18)" (( "(") (binary_expression "(uVar1 | 0x8000000) >> 0x18" (parenthesized_expression "(uVar1 | 0x8000000)" (( "(") (binary_expression "uVar1 | 0x8000000" (identifier "uVar1") (| "|") (number_literal "0x8000000")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8)" (( "(") (binary_expression "(uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8" (binary_expression "(uVar1 & 0xff) << 8" (parenthesized_expression "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar1 & 0xff00) >> 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;" (assignment_expression "piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927" (binary_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8)" (( "(") (binary_expression "(uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar8 & 0xff00) >> 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8"))) () ")")) (* "*") (number_literal "0x10000")) (+ "+") (number_literal "0x3927"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x3eb104)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x3eb104)" (* "*") (cast_expression "(code **)(puVar11 + 0x3eb104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x3eb104)" (( "(") (binary_expression "puVar11 + 0x3eb104" (identifier "puVar11") (+ "+") (number_literal "0x3eb104")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c)" (( "(") (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x4584" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" (* "*") (cast_expression "(int *)(puVar11 + 0x3ea950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3ea950)" (( "(") (binary_expression "puVar11 + 0x3ea950" (identifier "puVar11") (+ "+") (number_literal "0x3ea950")) () ")")))) (+ "+") (number_literal "0x4584")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3a9c" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" (* "*") (cast_expression "(int *)(puVar11 + 0x3eb124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3eb124)" (( "(") (binary_expression "puVar11 + 0x3eb124" (identifier "puVar11") (+ "+") (number_literal "0x3eb124")) () ")")))) (+ "+") (number_literal "-0x3a9c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);" (call_expression "(**(code **)(puVar11 + 0x3eb104))\n            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" (parenthesized_expression "(**(code **)(puVar11 + 0x3eb104))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x3eb104)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x3eb104)" (* "*") (cast_expression "(code **)(puVar11 + 0x3eb104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x3eb104)" (( "(") (binary_expression "puVar11 + 0x3eb104" (identifier "puVar11") (+ "+") (number_literal "0x3eb104")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350)" (( "(") (binary_expression "*(int *)(puVar11 + 0x3ea950) + 0x3574" (pointer_expression "*(int *)(puVar11 + 0x3ea950)" (* "*") (cast_expression "(int *)(puVar11 + 0x3ea950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3ea950)" (( "(") (binary_expression "puVar11 + 0x3ea950" (identifier "puVar11") (+ "+") (number_literal "0x3ea950")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(puVar11 + 0x3eb124) + -0x3350" (pointer_expression "*(int *)(puVar11 + 0x3eb124)" (* "*") (cast_expression "(int *)(puVar11 + 0x3eb124)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3eb124)" (( "(") (binary_expression "puVar11 + 0x3eb124" (identifier "puVar11") (+ "+") (number_literal "0x3eb124")) () ")")))) (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void do_write(Mips_output_data_la25_stub<64,_false> * this, Output_file
   * of) */

void __thiscall
anon_unknown.dwarf_29466b::Mips_output_data_la25_stub<64,var_33>::do_write
          (Mips_output_data_la25_stub<64,var_33> *this,type_5 *of)

{
  char var_28;
  type_1 var_30;
  type_2 oVar3;
  int var_3;
  var_1<64> *pMVar5;
  int var_22;
  type_3 uVar7;
  type_1 *var_31;
  type_3 *puVar9;
  int *var_12;
  int *var_23;
  type_4 var_13;
  type_5 *var_26;
  char *var_20;
  var_2<64,var_33> *this_00;
  size_t var_18;
  char *var_27;
  type_6 ppVar17;
  type_5 *var_7;
  type_6 var_8;
  type_5 *var_19;
  type_1 *var_32;
  type_4 var_6;
  type_6 var_9;
  type_4 var_4;
  int *var_21;
  type_7 *var_11;
  int var_5;
  type_8 *var_24;
  type_9 *var_25;
  type_9 *var_29;
  type_3 in_stack_fffffed4;
  type_3 in_stack_fffffef4;
  type_3 in_stack_ffffff1c;
  type_3 in_stack_ffffff3c;
  type_3 in_stack_ffffff64;
  type_3 in_stack_ffffff84;
  type_3 in_stack_ffffffa4;
  type_3 in_stack_ffffffcc;
  type_3 in_stack_ffffffec;
  
  var_3 = *(int *)&(this->super_Output_section_data).super_Output_data.field_0x20;
  if (var_3 << 2 < 0) {
    var_7 = *(type_5 **)&(this->super_Output_section_data).super_Output_data.offset_;
    var_5 = (int)(this->super_Output_section_data).super_Output_data.offset_;
    if (var_3 << 1 < 0) {
      var_4 = (type_4)(this->super_Output_section_data).super_Output_data.data_size_;
      if (*(int *)&(this->super_Output_section_data).super_Output_data.data_size_ == 0) {
        var_6 = var_4 + var_5;
        if (-1 < (int)var_7) {
          var_3 = (int)&var_7->name_ + (type_4)(var_6 < var_4);
          var_7 = (type_5 *)(type_4)(*(int *)&of->file_size_ < var_3);
          if ((var_7 == (type_5 *)0x0) &&
             ((*(int *)&of->file_size_ != var_3 || (var_6 <= (type_4)of->file_size_)))) {
            var_9 = (this->symbols_).
                       super__Vector_base<(anonymous_namespace)::var_1<64>*,_std::allocator<(anonymous_namespace)::var_1<64>*>var_37>
                       ._M_impl._M_finish;
            var_8 = (this->symbols_).
                       super__Vector_base<(anonymous_namespace)::var_1<64>*,_std::allocator<(anonymous_namespace)::var_1<64>*>var_37>
                       ._M_impl._M_start;
            var_11 = of->base_;
            do {
              if (var_8 == var_9) {
                return;
              }
              while( true ) {
                pMVar5 = *var_8;
                var_4 = (type_4)(pMVar5->super_Sized_symbol<64>var_10).value_;
                var_12 = (int *)(var_11 + var_5 + pMVar5->la25_stub_offset_);
                if ((*(type_1 *)&(pMVar5->super_Sized_symbol<64>var_10).super_Symbol.field_0x28 & 0x30) !=
                    0x20) break;
                *(type_10 *)var_12 = 0xb941;
                var_13 = (var_4 | 1) + 0x8000;
                *(type_10 *)(var_12 + 2) = 0x3933;
                var_6 = (var_4 | 1) << 5;
                *(type_10 *)(var_12 + 3) = 0;
                *(type_10 *)((int)var_12 + 0xe) = 0;
                *(type_1 *)((int)var_12 + 2) =
                     (type_1)((var_13 >> 0x10 & 0xff) << 8) | (type_1)(type_11)(var_13 >> 0x18);
                *(type_1 *)(var_12 + 1) =
                     (type_1)((var_6 >> 0x16 & 0xff) << 8) | (type_1)(var_6 >> 0x1e) | 0xd4;
                var_8 = var_8 + 1;
                *(type_1 *)((int)var_12 + 6) =
                     (type_1)((var_4 >> 1 & 0xff) << 8) | (type_1)((var_4 >> 1) >> 8) & 0xff;
                *(type_1 *)((int)var_12 + 10) =
                     (type_1)((var_4 & 0xff | 1) << 8) | (type_1)(var_4 >> 8) & 0xff;
                if (var_9 == var_8) {
                  return;
                }
              }
              var_12[3] = 0;
              var_6 = (var_4 << 4) >> 6;
              *var_12 = ((var_4 + 0x8000 >> 0x10 & 0xff) << 8 | var_4 + 0x8000 >> 0x18) * 0x10000
                         + 0x193c;
              var_8 = var_8 + 1;
              var_12[1] = ((((var_6 & 0xff0000) >> 0x10) << 0x18 |
                            ((var_6 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                           ((var_6 & 0xff) << 8 | (var_6 & 0xff00) >> 8) * 0x10000;
              var_12[2] = ((var_4 & 0xff) << 8 | (var_4 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        gold::Output_file::var_14
                  ((type_5 *)this,var_15(0x4c9240,in_stack_ffffffec),(size_t)of,var_7);
      }
      (*(type_9 *)PTR_do_gold_unreachable_004c1a30)
                (var_16 + 0x4584,0xc0,
                 var_17 + -0x3a9c);
    }
    (*(type_9 *)PTR_do_gold_unreachable_004c1a30)
              (var_16 + 0x3574,0xcf,var_17 + -0x3350
              );
  }
  var_18 = 0xe3;
  var_7 = (type_5 *)(var_16 + 0x3574);
  var_24 = PTR_do_gold_unreachable_004c1a30;
  (*(type_9 *)PTR_do_gold_unreachable_004c1a30)(var_7,0xe3,var_17 + -0x3a3c);
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].name_;
    var_3 = var_7[1].o_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      if (var_7->base_ == (type_7 *)0x0) {
        var_4 = *(type_4 *)&var_7->map_is_anonymous_ + var_3;
        if (-1 < (int)var_19) {
          var_20 = (char *)((int)&var_19->name_ +
                            (type_4)(var_4 < *(type_4 *)&var_7->map_is_anonymous_));
          var_19 = (type_5 *)(type_4)((int)*(char **)(var_18 + 8) < (int)var_20);
          if ((var_19 == (type_5 *)0x0) &&
             ((*(char **)(var_18 + 8) != var_20 || (var_4 <= *(type_4 *)(var_18 + 0xc))))) {
            var_21 = (int *)var_7[2].o_;
            var_12 = (int *)var_7[2].name_;
            var_5 = *(int *)(var_18 + 0x10);
            do {
              if (var_12 == var_21) {
                return;
              }
              while( true ) {
                var_22 = *var_12;
                var_4 = *(type_4 *)(var_22 + 0x30);
                var_23 = (int *)(var_5 + var_3 + *(int *)(var_22 + 0x3c));
                if ((*(type_1 *)(var_22 + 0x28) & 0x30) != 0x20) break;
                *(type_10 *)var_23 = 0xb941;
                var_13 = (var_4 | 1) + 0x8000;
                *(type_10 *)(var_23 + 2) = 0x3933;
                var_6 = (var_4 | 1) << 5;
                *(type_10 *)(var_23 + 3) = 0;
                *(type_10 *)((int)var_23 + 0xe) = 0;
                *(type_1 *)((int)var_23 + 2) =
                     (type_1)((var_13 >> 0x10 & 0xff) << 8) | (type_1)(type_11)(var_13 >> 0x18);
                *(type_1 *)(var_23 + 1) =
                     (type_1)((var_6 >> 0x16 & 0xff) << 8) | (type_1)(var_6 >> 0x1e) | 0xd4;
                var_12 = var_12 + 1;
                *(type_1 *)((int)var_23 + 6) =
                     (type_1)((var_4 >> 1 & 0xff) << 8) | (type_1)(var_4 >> 9) & 0xff;
                *(type_1 *)((int)var_23 + 10) =
                     (type_1)((var_4 & 0xff | 1) << 8) | (type_1)(var_4 >> 8) & 0xff;
                if (var_21 == var_12) {
                  return;
                }
              }
              var_23[3] = 0;
              var_6 = (var_4 << 4) >> 6;
              *var_23 = ((var_4 + 0x8000 >> 0x10 & 0xff) << 8 | var_4 + 0x8000 >> 0x18) * 0x10000
                         + 0x193c;
              var_12 = var_12 + 1;
              var_23[1] = ((((var_6 & 0xff0000) >> 0x10) << 0x18 |
                            ((var_6 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                           ((var_6 & 0xff) << 8 | (var_6 & 0xff00) >> 8) * 0x10000;
              var_23[2] = ((var_4 & 0xff) << 8 | (var_4 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        gold::Output_file::var_14
                  (var_7,var_15(var_24 + 0x3f2914,in_stack_ffffffcc),var_18,var_19);
      }
      (**(type_9 **)(var_24 + 0x3eb104))
                (*(int *)(var_24 + 0x3ea950) + 0x4584,0xc0,*(int *)(var_24 + 0x3eb124) + -0x3a9c);
    }
    (**(type_9 **)(var_24 + 0x3eb104))
              (*(int *)(var_24 + 0x3ea950) + 0x3574,0xcf,*(int *)(var_24 + 0x3eb124) + -0x3350);
  }
  var_18 = 0xe3;
  var_25 = *(type_9 **)(var_24 + 0x3eb104);
  var_7 = (type_5 *)(*(int *)(var_24 + 0x3ea950) + 0x3574);
  (*var_25)(var_7,0xe3,*(int *)(var_24 + 0x3eb124) + -0x3a3c);
  var_29 = var_25 + 0x3f2734;
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].o_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      var_4 = *(type_4 *)&var_7->map_is_anonymous_;
      if (var_7->base_ == (type_7 *)0x0) {
        var_6 = (int)&var_19->name_ + var_4;
        var_26 = var_7;
        if (-1 < (int)var_7[1].name_) {
          var_26 = (type_5 *)(var_7[1].name_ + (var_6 < var_4));
          if (((int)var_26 <= (int)*(type_5 **)(var_18 + 8)) &&
             ((*(type_5 **)(var_18 + 8) != var_26 || (var_6 <= *(type_4 *)(var_18 + 0xc))))) {
            var_20 = (char *)((int)&var_19->name_ + *(int *)(var_18 + 0x10));
            var_27 = var_20 + var_4;
            if (var_27 < var_20 + 8) {
              return;
            }
            var_4 = (type_4)(type_11)var_20[1];
            var_28 = *var_20;
            if (7 < var_4) {
              oVar3 = var_7[10].file_size_;
              do {
                if (var_28 == '\x01') {
                  var_3 = *(int *)((int)oVar3 + 0x18);
                  if (var_3 == 0) {
                    var_20[0x1c] = '\0';
                    var_20[0x1d] = '\0';
                    var_20[0x1e] = '\0';
                    var_20[0x1f] = '\0';
                  }
                  else {
                    var_6 = *(type_4 *)(var_3 + 0x30);
                    *(type_4 *)(var_20 + 0x1c) =
                         (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                         ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (var_27 < var_20 + var_4 + 8) {
                  return;
                }
                var_20 = var_20 + var_4;
                var_4 = (type_4)(type_11)var_20[1];
                var_28 = *var_20;
              } while (7 < var_4);
            }
            uVar7 = (**(type_9 **)(var_25 + 0x3ef124))(*(int *)(var_25 + 0x3ea770) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(type_9 **)(var_29 + -0x7814))(uVar7,(int)var_7[1].file_size_,var_4);
            return;
          }
        }
        gold::Output_file::var_14
                  (var_26,var_15(var_29,in_stack_ffffffa4),var_18,var_19);
      }
      (**(type_9 **)(var_25 + 0x3eaf24))
                (*(int *)(var_25 + 0x3ea770) + 0x4584,0xc0,*(int *)(var_25 + 0x3eaf44) + -0x3a9c);
    }
    (**(type_9 **)(var_25 + 0x3eaf24))
              (*(int *)(var_25 + 0x3ea770) + 0x3574,0xcf,*(int *)(var_25 + 0x3eaf44) + -0x3350);
  }
  var_18 = 0xe3;
  var_29 = *(type_9 **)(var_25 + 0x3eaf24);
  var_7 = (type_5 *)(*(int *)(var_25 + 0x3ea770) + 0x3574);
  (*var_29)(var_7,0xe3,*(int *)(var_25 + 0x3eaf44) + -0x3a3c);
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].name_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      if (-1 < (int)var_19) {
        var_4 = *(type_4 *)&var_7->map_is_anonymous_ + var_7[1].o_;
        var_20 = (char *)((int)&var_19->name_ +
                          (type_4)(var_4 < *(type_4 *)&var_7->map_is_anonymous_));
        var_19 = (type_5 *)(type_4)((int)*(char **)(var_18 + 8) < (int)var_20);
        if ((var_19 == (type_5 *)0x0) &&
           ((*(char **)(var_18 + 8) != var_20 || (var_4 <= *(type_4 *)(var_18 + 0xc))))) {
          var_32 = (type_1 *)var_7[2].name_;
          var_30 = *var_32;
          var_31 = (type_1 *)(*(int *)(var_18 + 0x10) + var_7[1].o_);
          *var_31 = (type_1)((var_30 & 0xff) << 8) | var_30 >> 8;
          *(type_12 *)(var_31 + 1) = *(type_12 *)(var_32 + 1);
          *(char *)((int)var_31 + 3) = var_7[2].name_[3];
          *(char *)(var_31 + 2) = var_7[2].name_[4];
          *(char *)((int)var_31 + 5) = var_7[2].name_[5];
          *(char *)(var_31 + 3) = var_7[2].name_[6];
          *(char *)((int)var_31 + 7) = var_7[2].name_[7];
          var_20 = var_7[2].name_;
          var_4 = *(type_4 *)(var_20 + 8);
          *(type_4 *)(var_31 + 4) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0xc);
          *(type_4 *)(var_31 + 6) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0x10);
          *(type_4 *)(var_31 + 8) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0x14);
          *(type_4 *)(var_31 + 10) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::var_14
                (var_7,var_15(var_29 + 0x3f2564,in_stack_ffffff84),var_18,var_19);
    }
    (**(type_9 **)(var_29 + 0x3ead54))
              (*(int *)(var_29 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(var_29 + 0x3ead74) + -0x3350);
  }
  var_18 = 0xe3;
  var_25 = *(type_9 **)(var_29 + 0x3ead54);
  var_7 = (type_5 *)(*(int *)(var_29 + 0x3ea5a0) + 0x3574);
  (*var_25)(var_7,0xe3,*(int *)(var_29 + 0x3ead74) + -0x3a3c);
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].name_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      if (-1 < (int)var_19) {
        var_4 = *(type_4 *)&var_7->map_is_anonymous_ + var_7[1].o_;
        var_20 = (char *)((int)&var_19->name_ +
                          (type_4)(var_4 < *(type_4 *)&var_7->map_is_anonymous_));
        var_19 = (type_5 *)(type_4)((int)*(char **)(var_18 + 8) < (int)var_20);
        if ((var_19 == (type_5 *)0x0) &&
           ((*(char **)(var_18 + 8) != var_20 || (var_4 <= *(type_4 *)(var_18 + 0xc))))) {
          var_32 = (type_1 *)var_7[2].name_;
          var_30 = *var_32;
          var_31 = (type_1 *)(*(int *)(var_18 + 0x10) + var_7[1].o_);
          *var_31 = (type_1)((var_30 & 0xff) << 8) | var_30 >> 8;
          *(type_12 *)(var_31 + 1) = *(type_12 *)(var_32 + 1);
          *(char *)((int)var_31 + 3) = var_7[2].name_[3];
          *(char *)(var_31 + 2) = var_7[2].name_[4];
          *(char *)((int)var_31 + 5) = var_7[2].name_[5];
          *(char *)(var_31 + 3) = var_7[2].name_[6];
          *(char *)((int)var_31 + 7) = var_7[2].name_[7];
          var_20 = var_7[2].name_;
          var_4 = *(type_4 *)(var_20 + 8);
          *(type_4 *)(var_31 + 4) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0xc);
          *(type_4 *)(var_31 + 6) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0x10);
          *(type_4 *)(var_31 + 8) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_4 = *(type_4 *)(var_20 + 0x14);
          *(type_4 *)(var_31 + 10) =
               (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
               ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::var_14
                (var_7,var_15(var_25 + 0x3f2400,in_stack_ffffff64),var_18,var_19);
    }
    (**(type_9 **)(var_25 + 0x3eabf0))
              (*(int *)(var_25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(var_25 + 0x3eac10) + -0x3350);
  }
  var_18 = 0xe3;
  var_29 = *(type_9 **)(var_25 + 0x3eabf0);
  var_7 = (type_5 *)(*(int *)(var_25 + 0x3ea43c) + 0x3574);
  (*var_29)(var_7,0xe3,*(int *)(var_25 + 0x3eac10) + -0x3a3c);
  var_25 = var_29 + 0x3f229c;
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].o_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      var_4 = *(type_4 *)&var_7->map_is_anonymous_;
      if (var_7->base_ == (type_7 *)0x0) {
        var_6 = (int)&var_19->name_ + var_4;
        var_26 = var_7;
        if (-1 < (int)var_7[1].name_) {
          var_26 = (type_5 *)(var_7[1].name_ + (var_6 < var_4));
          if (((int)var_26 <= (int)*(type_5 **)(var_18 + 8)) &&
             ((*(type_5 **)(var_18 + 8) != var_26 || (var_6 <= *(type_4 *)(var_18 + 0xc))))) {
            var_20 = (char *)((int)&var_19->name_ + *(int *)(var_18 + 0x10));
            var_27 = var_20 + var_4;
            if (var_27 < var_20 + 8) {
              return;
            }
            var_4 = (type_4)(type_11)var_20[1];
            var_28 = *var_20;
            if (7 < var_4) {
              oVar3 = var_7[10].file_size_;
              do {
                if (var_28 == '\x01') {
                  var_3 = *(int *)((int)oVar3 + 0x18);
                  if (var_3 == 0) {
                    var_20[0x24] = '\0';
                    var_20[0x25] = '\0';
                    var_20[0x26] = '\0';
                    var_20[0x27] = '\0';
                    var_20[0x20] = '\0';
                    var_20[0x21] = '\0';
                    var_20[0x22] = '\0';
                    var_20[0x23] = '\0';
                  }
                  else {
                    uVar7 = *(type_3 *)(var_3 + 0x30);
                    *(type_3 *)(var_20 + 0x24) = *(type_3 *)(var_3 + 0x34);
                    *(type_3 *)(var_20 + 0x20) = uVar7;
                  }
                }
                if (var_27 < var_20 + var_4 + 8) {
                  return;
                }
                var_20 = var_20 + var_4;
                var_4 = (type_4)(type_11)var_20[1];
                var_28 = *var_20;
              } while (7 < var_4);
            }
            uVar7 = (**(type_9 **)(var_29 + 0x3eec8c))(*(int *)(var_29 + 0x3ea2d8) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(type_9 **)(var_25 + -0x7814))(uVar7,(int)var_7[1].file_size_,var_4);
            return;
          }
        }
        gold::Output_file::var_14
                  (var_26,var_15(var_25,in_stack_ffffff3c),var_18,var_19);
      }
      (**(type_9 **)(var_29 + 0x3eaa8c))
                (*(int *)(var_29 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(var_29 + 0x3eaaac) + -0x3a9c);
    }
    (**(type_9 **)(var_29 + 0x3eaa8c))
              (*(int *)(var_29 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(var_29 + 0x3eaaac) + -0x3350);
  }
  var_18 = 0xe3;
  var_25 = *(type_9 **)(var_29 + 0x3eaa8c);
  var_7 = (type_5 *)(*(int *)(var_29 + 0x3ea2d8) + 0x3574);
  (*var_25)(var_7,0xe3,*(int *)(var_29 + 0x3eaaac) + -0x3a3c);
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].name_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      if (-1 < (int)var_19) {
        var_4 = *(type_4 *)&var_7->map_is_anonymous_ + var_7[1].o_;
        var_20 = (char *)((int)&var_19->name_ +
                          (type_4)(var_4 < *(type_4 *)&var_7->map_is_anonymous_));
        var_19 = (type_5 *)(type_4)((int)*(char **)(var_18 + 8) < (int)var_20);
        if ((var_19 == (type_5 *)0x0) &&
           ((*(char **)(var_18 + 8) != var_20 || (var_4 <= *(type_4 *)(var_18 + 0xc))))) {
          uVar7 = *(type_3 *)&var_7[2].file_size_;
          puVar9 = (type_3 *)(*(int *)(var_18 + 0x10) + var_7[1].o_);
          var_20 = var_7[2].name_;
          puVar9[1] = (int)var_7[2].file_size_;
          *puVar9 = uVar7;
          var_11 = var_7[2].base_;
          var_3 = *(int *)(var_20 + 0x18);
          puVar9[2] = *(type_3 *)&var_7[2].map_is_anonymous_;
          puVar9[1] = var_11;
          var_20 = var_7[3].name_;
          puVar9[3] = var_7[3].o_;
          puVar9[2] = var_20;
          uVar7 = *(type_3 *)&var_7[3].file_size_;
          puVar9[4] = (int)var_7[3].file_size_;
          puVar9[3] = uVar7;
          var_11 = var_7[3].base_;
          puVar9[5] = *(type_3 *)&var_7[3].map_is_anonymous_;
          puVar9[4] = var_11;
          if (var_3 == 0) {
            puVar9[6] = 0;
            puVar9[5] = 0;
            return;
          }
          uVar7 = *(type_3 *)(var_3 + 0x30);
          puVar9[6] = *(type_3 *)(var_3 + 0x34);
          puVar9[5] = uVar7;
          return;
        }
      }
      gold::Output_file::var_14
                (var_7,var_15(var_25 + 0x3f20c8,in_stack_ffffff1c),var_18,var_19);
    }
    (**(type_9 **)(var_25 + 0x3ea8b8))
              (*(int *)(var_25 + 0x3ea104) + 0x3574,0xcf,*(int *)(var_25 + 0x3ea8d8) + -0x3350);
  }
  var_18 = 0xe3;
  var_29 = *(type_9 **)(var_25 + 0x3ea8b8);
  var_7 = (type_5 *)(*(int *)(var_25 + 0x3ea104) + 0x3574);
  (*var_29)(var_7,0xe3,*(int *)(var_25 + 0x3ea8d8) + -0x3a3c);
  var_25 = var_29 + 0x3f1f74;
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].o_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      var_4 = *(type_4 *)&var_7->map_is_anonymous_;
      if (var_7->base_ == (type_7 *)0x0) {
        var_6 = (int)&var_19->name_ + var_4;
        var_26 = var_7;
        if (-1 < (int)var_7[1].name_) {
          var_26 = (type_5 *)(var_7[1].name_ + (var_6 < var_4));
          if (((int)var_26 <= (int)*(type_5 **)(var_18 + 8)) &&
             ((*(type_5 **)(var_18 + 8) != var_26 || (var_6 <= *(type_4 *)(var_18 + 0xc))))) {
            var_20 = (char *)((int)&var_19->name_ + *(int *)(var_18 + 0x10));
            var_27 = var_20 + var_4;
            if (var_27 < var_20 + 8) {
              return;
            }
            var_4 = (type_4)(type_11)var_20[1];
            var_28 = *var_20;
            if (7 < var_4) {
              oVar3 = var_7[10].file_size_;
              do {
                if (var_28 == '\x01') {
                  var_3 = *(int *)((int)oVar3 + 0x18);
                  if (var_3 == 0) {
                    var_20[0x20] = '\0';
                    var_20[0x21] = '\0';
                    var_20[0x22] = '\0';
                    var_20[0x23] = '\0';
                    var_20[0x24] = '\0';
                    var_20[0x25] = '\0';
                    var_20[0x26] = '\0';
                    var_20[0x27] = '\0';
                  }
                  else {
                    var_6 = *(type_4 *)(var_3 + 0x30);
                    var_13 = *(type_4 *)(var_3 + 0x34);
                    *(type_4 *)(var_20 + 0x24) =
                         (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                         ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
                    *(type_4 *)(var_20 + 0x20) =
                         (((var_13 >> 0x10) << 0x18 | (var_13 >> 0x18) << 0x10) >> 0x10) +
                         ((var_13 & 0xff) << 8 | var_13 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (var_27 < var_20 + var_4 + 8) {
                  return;
                }
                var_20 = var_20 + var_4;
                var_4 = (type_4)(type_11)var_20[1];
                var_28 = *var_20;
              } while (7 < var_4);
            }
            uVar7 = (**(type_9 **)(var_29 + 0x3ee964))(*(int *)(var_29 + 0x3e9fb0) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(type_9 **)(var_25 + -0x7814))(uVar7,(int)var_7[1].file_size_,var_4);
            return;
          }
        }
        gold::Output_file::var_14
                  (var_26,var_15(var_25,in_stack_fffffef4),var_18,var_19);
      }
      (**(type_9 **)(var_29 + 0x3ea764))
                (*(int *)(var_29 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(var_29 + 0x3ea784) + -0x3a9c);
    }
    (**(type_9 **)(var_29 + 0x3ea764))
              (*(int *)(var_29 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(var_29 + 0x3ea784) + -0x3350);
  }
  var_18 = 0xe3;
  var_25 = *(type_9 **)(var_29 + 0x3ea764);
  var_7 = (type_5 *)(*(int *)(var_29 + 0x3e9fb0) + 0x3574);
  (*var_25)(var_7,0xe3,*(int *)(var_29 + 0x3ea784) + -0x3a3c);
  if (*(int *)&var_7[1].file_size_ << 2 < 0) {
    var_19 = (type_5 *)var_7[1].name_;
    if (*(int *)&var_7[1].file_size_ << 1 < 0) {
      if (-1 < (int)var_19) {
        var_4 = *(type_4 *)&var_7->map_is_anonymous_ + var_7[1].o_;
        var_20 = (char *)((int)&var_19->name_ +
                          (type_4)(var_4 < *(type_4 *)&var_7->map_is_anonymous_));
        var_19 = (type_5 *)(type_4)((int)*(char **)(var_18 + 8) < (int)var_20);
        if ((var_19 == (type_5 *)0x0) &&
           ((*(char **)(var_18 + 8) != var_20 || (var_4 <= *(type_4 *)(var_18 + 0xc))))) {
          var_6 = *(type_4 *)&var_7[2].file_size_;
          var_4 = (type_4)var_7[2].file_size_;
          var_12 = (int *)(*(int *)(var_18 + 0x10) + var_7[1].o_);
          var_3 = *(int *)(var_7[2].name_ + 0x18);
          var_12[1] = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                       ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
          *var_12 = (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
                     ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_11 = var_7[2].base_;
          var_4._0_1_ = var_7[2].map_is_anonymous_;
          var_4._1_1_ = var_7[2].map_is_allocated_;
          var_4._2_1_ = var_7[2].is_temporary_;
          var_4._3_1_ = var_7[2].field_0x17;
          var_12[2] = ((((type_4)var_11 >> 0x10) << 0x18 | ((type_4)var_11 >> 0x18) << 0x10) >> 0x10)
                       + (((type_4)var_11 & 0xff) << 8 | (type_4)var_11 >> 8 & 0xff) * 0x10000;
          var_12[1] = (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
                       ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_20 = var_7[3].name_;
          var_4 = var_7[3].o_;
          var_12[3] = ((((type_4)var_20 >> 0x10) << 0x18 | ((type_4)var_20 >> 0x18) << 0x10) >> 0x10)
                       + (((type_4)var_20 & 0xff) << 8 | (type_4)var_20 >> 8 & 0xff) * 0x10000;
          var_12[2] = (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
                       ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_6 = *(type_4 *)&var_7[3].file_size_;
          var_4 = (type_4)var_7[3].file_size_;
          var_12[4] = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                       ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
          var_12[3] = (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
                       ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_6._0_1_ = var_7[3].map_is_anonymous_;
          var_6._1_1_ = var_7[3].map_is_allocated_;
          var_6._2_1_ = var_7[3].is_temporary_;
          var_6._3_1_ = var_7[3].field_0x17;
          var_11 = var_7[3].base_;
          var_12[4] = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                       ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
          var_12[5] = ((((type_4)var_11 >> 0x10) << 0x18 | ((type_4)var_11 >> 0x18) << 0x10) >> 0x10)
                       + (((type_4)var_11 & 0xff) << 8 | (type_4)var_11 >> 8 & 0xff) * 0x10000;
          if (var_3 == 0) {
            var_12[5] = 0;
            var_12[6] = 0;
            return;
          }
          var_4 = *(type_4 *)(var_3 + 0x30);
          var_6 = *(type_4 *)(var_3 + 0x34);
          var_12[6] = (((var_4 >> 0x10) << 0x18 | (var_4 >> 0x18) << 0x10) >> 0x10) +
                       ((var_4 & 0xff) << 8 | var_4 >> 8 & 0xff) * 0x10000;
          var_12[5] = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
                       ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::var_14
                (var_7,var_15(var_25 + 0x3f1d90,in_stack_fffffed4),var_18,var_19);
    }
    (**(type_9 **)(var_25 + 0x3ea580))
              (*(int *)(var_25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(var_25 + 0x3ea5a0) + -0x3350);
  }
  var_29 = *(type_9 **)(var_25 + 0x3ea580);
  (*var_29)(*(int *)(var_25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(var_25 + 0x3ea5a0) + -0x3a3c);
  var_25 = *(type_9 **)(var_29 + 0x3ea3cc);
  var_3 = *(int *)(var_29 + 0x3e9c18) + 0x3574;
  (*var_25)(var_3,0xc5,*(int *)(var_29 + 0x3ea3ec) + -0x3478);
  if (*(int *)(var_3 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(var_3 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  var_29 = *(type_9 **)(var_25 + 0x3ea398);
  (*var_29)(*(int *)(var_25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(var_25 + 0x3ea3b8) + -0x3350);
  var_25 = *(type_9 **)(var_29 + 0x3ea338);
  var_3 = *(int *)(var_29 + 0x3e9b84) + 0x3574;
  (*var_25)(var_3,0xcf,*(int *)(var_29 + 0x3ea358) + -0x3350);
  if (*(int *)(var_3 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(var_3 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  var_29 = *(type_9 **)(var_25 + 0x3ea304);
  var_3 = *(int *)(var_25 + 0x3e9b50) + 0x3574;
  (*var_29)(var_3,0xcf,*(int *)(var_25 + 0x3ea324) + -0x3350);
  if (*(int *)(var_3 + 0x14) == 0) {
    return;
  }
  if (-1 < *(int *)(*(int *)(var_3 + 0x14) + 0x20) << 1) {
    var_25 = *(type_9 **)(var_29 + 0x3ea2a4);
    var_3 = *(int *)(var_29 + 0x3e9af0) + 0x3574;
    (*var_25)(var_3,0xcf,*(int *)(var_29 + 0x3ea2c4) + -0x3350);
    if (*(int *)(var_3 + 0x14) == 0) {
      return;
    }
    if (*(int *)(*(int *)(var_3 + 0x14) + 0x20) << 1 < 0) {
      return;
    }
    var_29 = *(type_9 **)(var_25 + 0x3ea244);
    (*var_29)(*(int *)(var_25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(var_25 + 0x3ea264) + -0x3350);
    this_00 = (var_2<64,var_33> *var_10)(*(int *)(var_29 + 0x3e9a30) + 0x3574);
    (**(type_9 **)(var_29 + 0x3ea1e4))(this_00,0x218,*(int *)(var_29 + 0x3ea204) + -0x39fc);
    ppVar17 = (this_00->mips_mach_extensions_).
              super__Vector_base<std::var_34<var_35,var_36>,_std::allocator<std::var_34<var_35,var_36>var_37>var_37>
              ._M_impl._M_start;
    if (*(char *)&ppVar17[1].second == '\0') {
      var_2<64,var_33>::var_38(this_00);
      if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {
        this_00->got_ =
             (var_39<64,var_33> *)
             ((int)&((this_00->dyn_relocs_).
                     super__Vector_base<(anonymous_namespace)::var_2<64,var_33>::var_40,_std::allocator<(anonymous_namespace)::var_2<64,var_33>::var_40>var_37>
                     ._M_impl._M_finish)->sym_ +
             (int)&((this_00->dyn_relocs_).
                    super__Vector_base<(anonymous_namespace)::var_2<64,var_33>::var_40,_std::allocator<(anonymous_namespace)::var_2<64,var_33>::var_40>var_37>
                    ._M_impl._M_end_of_storage)->sym_ +
             (int)(this_00->dyn_relocs_).
                  super__Vector_base<(anonymous_namespace)::var_2<64,var_33>::var_40,_std::allocator<(anonymous_namespace)::var_2<64,var_33>::var_40>var_37>
                  ._M_impl._M_start);
        *(type_3 *)&this_00->field_0x10 = 0;
        *(type_11 *)&this_00->got_plt_ = *(type_11 *)&this_00->got_plt_ & 0xbf | 0x40;
        return;
      }
                    /* WARNING: Subroutine does not return */
      var_41<64,var_33>::var_42
                ((var_41<64,var_33> *)this_00);
    }
    var_3 = 0x10;
    if ((int)(ppVar17[1].first << 6) < 0) {
      if (*(char *)((int)&ppVar17[0x10].first + 2) != '\0') {
        var_3 = 0x14;
      }
    }
    else {
      var_3 = 0x14;
    }
    if ((-1 < (int)this_00->got_plt_ << 1) && (-1 < (int)this_00->got_plt_ << 3)) {
      this_00->got_ =
           (var_39<64,var_33> *)
           (var_3 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,var_33>.dynbss_);
      *(type_3 *)&this_00->field_0x10 = 0;
      *(type_11 *)&this_00->got_plt_ = *(type_11 *)&this_00->got_plt_ & 0xbf | 0x40;
      return;
    }
                    /* WARNING: Subroutine does not return */
    var_41<64,var_33>::var_42
              ((var_41<64,var_33> *)this_00);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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)) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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: (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: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (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: (break_statement)) (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: (identifier) right: (binary_expression left: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)) right: (number_literal))))) condition: (parenthesized_expression (true))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_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))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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))))) (return_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: (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)) right: (number_literal))) consequence: (compound_statement (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: (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: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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: (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: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (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: (break_statement)) (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: (identifier) right: (binary_expression left: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)) right: (number_literal))))) condition: (parenthesized_expression (true))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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))))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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))))) (return_statement))))

void MASKED(int param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  uint uVar5;
  undefined *puVar6;
  int *piVar7;
  uint uVar8;
  int *piVar9;
  int iVar10;
  undefined *puVar11;
  
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
    iVar10 = *(int *)(param_1 + 0x1c);
    if (*(int *)(param_1 + 0x20) << 1 < 0) {
      if (*(int *)(param_1 + 0x10) == 0) {
        uVar8 = *(uint *)(param_1 + 0x14) + iVar10;
        if (-1 < *(int *)(param_1 + 0x18)) {
          iVar2 = (uint)(uVar8 < *(uint *)(param_1 + 0x14)) + *(int *)(param_1 + 0x18);
          if ((iVar2 <= *(int *)(param_2 + 8)) &&
             ((*(int *)(param_2 + 8) != iVar2 || (uVar8 <= *(uint *)(param_2 + 0xc))))) {
            piVar9 = *(int **)(param_1 + 0x34);
            piVar7 = *(int **)(param_1 + 0x30);
            iVar2 = *(int *)(param_2 + 0x10);
            do {
              if (piVar7 == piVar9) {
                return;
              }
              while( true ) {
                iVar3 = *piVar7;
                uVar8 = *(uint *)(iVar3 + 0x34);
                piVar4 = (int *)(iVar2 + iVar10 + *(int *)(iVar3 + 0x44));
                if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;
                *(undefined2 *)piVar4 = 0xb941;
                uVar5 = (uVar8 | 1) + 0x8000;
                *(undefined2 *)(piVar4 + 2) = 0x3933;
                uVar1 = (uVar8 | 1) << 5;
                *(undefined2 *)(piVar4 + 3) = 0;
                *(undefined2 *)((int)piVar4 + 0xe) = 0;
                *(ushort *)((int)piVar4 + 2) =
                     (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);
                *(ushort *)(piVar4 + 1) =
                     (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;
                piVar7 = piVar7 + 1;
                *(ushort *)((int)piVar4 + 6) =
                     (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)((uVar8 >> 1) >> 8) & 0xff;
                *(ushort *)((int)piVar4 + 10) =
                     (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;
                if (piVar9 == piVar7) {
                  return;
                }
              }
              piVar4[3] = 0;
              uVar1 = (uVar8 << 4) >> 6;
              *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +
                        0x193c;
              piVar7 = piVar7 + 1;
              piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |
                           ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                          ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;
              piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;
            } while( true );
          }
        }
        FUN_000d5cdc();
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4584,0xc0,
                 PTR_s__s_004c1a50 + -0x3a9c);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,PTR_s__s_004c1a50 + -0x3350
              );
  }
  iVar10 = 0xe3;
  puVar6 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
  puVar11 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar6,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (-1 < *(int *)(puVar6 + 0x20) << 2) {
    (**(code **)(puVar11 + 0x3eb104))
              (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xe3,*(int *)(puVar11 + 0x3eb124) + -0x3a3c);
    return;
  }
  iVar2 = *(int *)(puVar6 + 0x1c);
  if (*(int *)(puVar6 + 0x20) << 1 < 0) {
    if (*(int *)(puVar6 + 0x10) == 0) {
      uVar8 = *(uint *)(puVar6 + 0x14) + iVar2;
      if (-1 < *(int *)(puVar6 + 0x18)) {
        iVar3 = (uint)(uVar8 < *(uint *)(puVar6 + 0x14)) + *(int *)(puVar6 + 0x18);
        if ((iVar3 <= *(int *)(iVar10 + 8)) &&
           ((*(int *)(iVar10 + 8) != iVar3 || (uVar8 <= *(uint *)(iVar10 + 0xc))))) {
          piVar9 = *(int **)(puVar6 + 0x34);
          piVar7 = *(int **)(puVar6 + 0x30);
          iVar10 = *(int *)(iVar10 + 0x10);
          do {
            if (piVar7 == piVar9) {
              return;
            }
            while( true ) {
              iVar3 = *piVar7;
              uVar8 = *(uint *)(iVar3 + 0x30);
              piVar4 = (int *)(iVar10 + iVar2 + *(int *)(iVar3 + 0x3c));
              if ((*(ushort *)(iVar3 + 0x28) & 0x30) != 0x20) break;
              *(undefined2 *)piVar4 = 0xb941;
              uVar5 = (uVar8 | 1) + 0x8000;
              *(undefined2 *)(piVar4 + 2) = 0x3933;
              uVar1 = (uVar8 | 1) << 5;
              *(undefined2 *)(piVar4 + 3) = 0;
              *(undefined2 *)((int)piVar4 + 0xe) = 0;
              *(ushort *)((int)piVar4 + 2) =
                   (ushort)((uVar5 >> 0x10 & 0xff) << 8) | (ushort)(byte)(uVar5 >> 0x18);
              *(ushort *)(piVar4 + 1) =
                   (ushort)((uVar1 >> 0x16 & 0xff) << 8) | (ushort)(uVar1 >> 0x1e) | 0xd4;
              piVar7 = piVar7 + 1;
              *(ushort *)((int)piVar4 + 6) =
                   (ushort)((uVar8 >> 1 & 0xff) << 8) | (ushort)(uVar8 >> 9) & 0xff;
              *(ushort *)((int)piVar4 + 10) =
                   (ushort)((uVar8 & 0xff | 1) << 8) | (ushort)(uVar8 >> 8) & 0xff;
              if (piVar9 == piVar7) {
                return;
              }
            }
            piVar4[3] = 0;
            uVar1 = (uVar8 << 4) >> 6;
            *piVar4 = ((uVar8 + 0x8000 >> 0x10 & 0xff) << 8 | uVar8 + 0x8000 >> 0x18) * 0x10000 +
                      0x193c;
            piVar7 = piVar7 + 1;
            piVar4[1] = ((((uVar1 & 0xff0000) >> 0x10) << 0x18 |
                         ((uVar1 | 0x8000000) >> 0x18) << 0x10) >> 0x10) +
                        ((uVar1 & 0xff) << 8 | (uVar1 & 0xff00) >> 8) * 0x10000;
            piVar4[2] = ((uVar8 & 0xff) << 8 | (uVar8 & 0xff00) >> 8) * 0x10000 + 0x3927;
          } while( true );
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(puVar11 + 0x3eb104))
              (*(int *)(puVar11 + 0x3ea950) + 0x4584,0xc0,*(int *)(puVar11 + 0x3eb124) + -0x3a9c);
    return;
  }
  (**(code **)(puVar11 + 0x3eb104))
            (*(int *)(puVar11 + 0x3ea950) + 0x3574,0xcf,*(int *)(puVar11 + 0x3eb124) + -0x3350);
  return;
}

