
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* 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_" */
/* WARNING: Struct "Mips_output_section_options<32,_false>": ignoring overlapping field "target_" */
/* DWARF original prototype: void do_write(Mips_output_section_options<32,_false> * this,
   Output_file * of) */

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

{
  uchar uVar1;
  char cVar2;
  ushort uVar3;
  off_t oVar4;
  int iVar5;
  uchar *puVar6;
  undefined4 uVar7;
  ushort *puVar8;
  undefined4 *puVar9;
  int *piVar10;
  uint uVar11;
  Output_file *pOVar12;
  char *pcVar13;
  Output_file *pOVar14;
  uint uVar15;
  Target_mips<64,_false> *this_00;
  uchar *puVar16;
  size_t sVar17;
  char *pcVar18;
  pointer ppVar19;
  Output_file *pOVar20;
  ushort *puVar21;
  int iVar22;
  uint uVar23;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  undefined4 in_stack_ffffff1c;
  undefined4 in_stack_ffffff3c;
  undefined4 in_stack_ffffff64;
  undefined4 in_stack_ffffff84;
  undefined4 in_stack_ffffffac;
  undefined4 in_stack_ffffffcc;
  int iVar27;
  undefined4 in_stack_ffffffec;
  
  iVar5 = *(int *)&(this->super_Output_section).super_Output_data.field_0x20;
  iVar27 = 0x4c9240;
  if (iVar5 << 2 < 0) {
    iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_;
    pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4);
    if (iVar5 << 1 < 0) {
      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;
      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {
        uVar11 = (int)&pOVar20->name_ + uVar23;
        pOVar12 = (Output_file *)this;
        if (-1 < iVar22) {
          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);
          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&
             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {
            puVar6 = of->base_ + (int)pOVar20;
            puVar16 = puVar6 + uVar23;
            if (puVar16 < puVar6 + 8) {
              return;
            }
            uVar23 = (uint)puVar6[1];
            uVar1 = *puVar6;
            if (7 < uVar23) {
              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;
              do {
                if (uVar1 == '\x01') {
                  iVar22 = *(int *)(iVar5 + 0x18);
                  if (iVar22 == 0) {
                    puVar6[0x1c] = '\0';
                    puVar6[0x1d] = '\0';
                    puVar6[0x1e] = '\0';
                    puVar6[0x1f] = '\0';
                  }
                  else {
                    uVar11 = *(uint *)(iVar22 + 0x30);
                    *(uint *)(puVar6 + 0x1c) =
                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (puVar16 < puVar6 + uVar23 + 8) {
                  return;
                }
                puVar6 = puVar6 + uVar23;
                uVar23 = (uint)puVar6[1];
                uVar1 = *puVar6;
              } while (7 < uVar23);
            }
            uVar7 = (*(code *)PTR_gettext_004c5c30)
                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(iVar27 + -0x7814))
                      (uVar7,*(undefined4 *)
                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);
      }
      (*(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
              );
  }
  sVar17 = 0xe3;
  pOVar20 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  puVar24 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar20,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].name_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar12) {
        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;
        pcVar13 = (char *)((int)&pOVar12->name_ +
                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));
        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);
        if ((pOVar12 == (Output_file *)0x0) &&
           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {
          puVar21 = (ushort *)pOVar20[2].name_;
          uVar3 = *puVar21;
          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);
          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;
          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);
          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];
          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];
          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];
          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];
          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];
          pcVar13 = pOVar20[2].name_;
          uVar23 = *(uint *)(pcVar13 + 8);
          *(uint *)(puVar8 + 4) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0xc);
          *(uint *)(puVar8 + 6) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0x10);
          *(uint *)(puVar8 + 8) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0x14);
          *(uint *)(puVar8 + 10) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);
    }
    (**(code **)(puVar24 + 0x3ead54))
              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350);
  }
  sVar17 = 0xe3;
  pcVar25 = *(code **)(puVar24 + 0x3ead54);
  pOVar20 = (Output_file *)(*(int *)(puVar24 + 0x3ea5a0) + 0x3574);
  (*pcVar25)(pOVar20,0xe3,*(int *)(puVar24 + 0x3ead74) + -0x3a3c);
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].name_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar12) {
        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;
        pcVar13 = (char *)((int)&pOVar12->name_ +
                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));
        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);
        if ((pOVar12 == (Output_file *)0x0) &&
           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {
          puVar21 = (ushort *)pOVar20[2].name_;
          uVar3 = *puVar21;
          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);
          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;
          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);
          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];
          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];
          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];
          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];
          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];
          pcVar13 = pOVar20[2].name_;
          uVar23 = *(uint *)(pcVar13 + 8);
          *(uint *)(puVar8 + 4) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0xc);
          *(uint *)(puVar8 + 6) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0x10);
          *(uint *)(puVar8 + 8) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar23 = *(uint *)(pcVar13 + 0x14);
          *(uint *)(puVar8 + 10) =
               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);
    }
    (**(code **)(pcVar25 + 0x3eabf0))
              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350);
  }
  sVar17 = 0xe3;
  pcVar26 = *(code **)(pcVar25 + 0x3eabf0);
  pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea43c) + 0x3574);
  (*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3eac10) + -0x3a3c);
  pcVar25 = pcVar26 + 0x3f229c;
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].o_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;
      if (pOVar20->base_ == (uchar *)0x0) {
        uVar11 = (int)&pOVar12->name_ + uVar23;
        pOVar14 = pOVar20;
        if (-1 < (int)pOVar20[1].name_) {
          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));
          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&
             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {
            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));
            pcVar18 = pcVar13 + uVar23;
            if (pcVar18 < pcVar13 + 8) {
              return;
            }
            uVar23 = (uint)(byte)pcVar13[1];
            cVar2 = *pcVar13;
            if (7 < uVar23) {
              oVar4 = pOVar20[10].file_size_;
              do {
                if (cVar2 == '\x01') {
                  iVar5 = *(int *)((int)oVar4 + 0x18);
                  if (iVar5 == 0) {
                    pcVar13[0x24] = '\0';
                    pcVar13[0x25] = '\0';
                    pcVar13[0x26] = '\0';
                    pcVar13[0x27] = '\0';
                    pcVar13[0x20] = '\0';
                    pcVar13[0x21] = '\0';
                    pcVar13[0x22] = '\0';
                    pcVar13[0x23] = '\0';
                  }
                  else {
                    uVar7 = *(undefined4 *)(iVar5 + 0x30);
                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);
                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;
                  }
                }
                if (pcVar18 < pcVar13 + uVar23 + 8) {
                  return;
                }
                pcVar13 = pcVar13 + uVar23;
                uVar23 = (uint)(byte)pcVar13[1];
                cVar2 = *pcVar13;
              } while (7 < uVar23);
            }
            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);
      }
      (**(code **)(pcVar26 + 0x3eaa8c))
                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);
    }
    (**(code **)(pcVar26 + 0x3eaa8c))
              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350);
  }
  sVar17 = 0xe3;
  pcVar25 = *(code **)(pcVar26 + 0x3eaa8c);
  pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574);
  (*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c);
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].name_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar12) {
        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;
        pcVar13 = (char *)((int)&pOVar12->name_ +
                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));
        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);
        if ((pOVar12 == (Output_file *)0x0) &&
           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {
          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;
          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);
          pcVar13 = pOVar20[2].name_;
          puVar9[1] = (int)pOVar20[2].file_size_;
          *puVar9 = uVar7;
          puVar6 = pOVar20[2].base_;
          iVar5 = *(int *)(pcVar13 + 0x18);
          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;
          puVar9[1] = puVar6;
          pcVar13 = pOVar20[3].name_;
          puVar9[3] = pOVar20[3].o_;
          puVar9[2] = pcVar13;
          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;
          puVar9[4] = (int)pOVar20[3].file_size_;
          puVar9[3] = uVar7;
          puVar6 = pOVar20[3].base_;
          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;
          puVar9[4] = puVar6;
          if (iVar5 != 0) {
            uVar7 = *(undefined4 *)(iVar5 + 0x30);
            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);
            puVar9[5] = uVar7;
            return;
          }
          puVar9[6] = 0;
          puVar9[5] = 0;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);
    }
    (**(code **)(pcVar25 + 0x3ea8b8))
              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350);
  }
  sVar17 = 0xe3;
  pcVar26 = *(code **)(pcVar25 + 0x3ea8b8);
  pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea104) + 0x3574);
  (*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c);
  pcVar25 = pcVar26 + 0x3f1f74;
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].o_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;
      if (pOVar20->base_ == (uchar *)0x0) {
        uVar11 = (int)&pOVar12->name_ + uVar23;
        pOVar14 = pOVar20;
        if (-1 < (int)pOVar20[1].name_) {
          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));
          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&
             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {
            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));
            pcVar18 = pcVar13 + uVar23;
            if (pcVar18 < pcVar13 + 8) {
              return;
            }
            uVar23 = (uint)(byte)pcVar13[1];
            cVar2 = *pcVar13;
            if (7 < uVar23) {
              oVar4 = pOVar20[10].file_size_;
              do {
                if (cVar2 == '\x01') {
                  iVar5 = *(int *)((int)oVar4 + 0x18);
                  if (iVar5 == 0) {
                    pcVar13[0x20] = '\0';
                    pcVar13[0x21] = '\0';
                    pcVar13[0x22] = '\0';
                    pcVar13[0x23] = '\0';
                    pcVar13[0x24] = '\0';
                    pcVar13[0x25] = '\0';
                    pcVar13[0x26] = '\0';
                    pcVar13[0x27] = '\0';
                  }
                  else {
                    uVar11 = *(uint *)(iVar5 + 0x30);
                    uVar15 = *(uint *)(iVar5 + 0x34);
                    *(uint *)(pcVar13 + 0x24) =
                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
                    *(uint *)(pcVar13 + 0x20) =
                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (pcVar18 < pcVar13 + uVar23 + 8) {
                  return;
                }
                pcVar13 = pcVar13 + uVar23;
                uVar23 = (uint)(byte)pcVar13[1];
                cVar2 = *pcVar13;
              } while (7 < uVar23);
            }
            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);
            return;
          }
        }
        gold::Output_file::get_output_view
                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);
      }
      (**(code **)(pcVar26 + 0x3ea764))
                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);
    }
    (**(code **)(pcVar26 + 0x3ea764))
              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350);
  }
  sVar17 = 0xe3;
  pcVar25 = *(code **)(pcVar26 + 0x3ea764);
  pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574);
  (*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3ea784) + -0x3a3c);
  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {
    pOVar12 = (Output_file *)pOVar20[1].name_;
    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {
      if (-1 < (int)pOVar12) {
        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;
        pcVar13 = (char *)((int)&pOVar12->name_ +
                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));
        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);
        if ((pOVar12 == (Output_file *)0x0) &&
           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {
          uVar11 = *(uint *)&pOVar20[2].file_size_;
          uVar23 = (uint)pOVar20[2].file_size_;
          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);
          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);
          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          puVar6 = pOVar20[2].base_;
          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;
          uVar23._1_1_ = pOVar20[2].map_is_allocated_;
          uVar23._2_1_ = pOVar20[2].is_temporary_;
          uVar23._3_1_ = pOVar20[2].field_0x17;
          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +
                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;
          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          pcVar13 = pOVar20[3].name_;
          uVar23 = pOVar20[3].o_;
          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)
                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;
          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar11 = *(uint *)&pOVar20[3].file_size_;
          uVar23 = (uint)pOVar20[3].file_size_;
          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;
          uVar11._1_1_ = pOVar20[3].map_is_allocated_;
          uVar11._2_1_ = pOVar20[3].is_temporary_;
          uVar11._3_1_ = pOVar20[3].field_0x17;
          puVar6 = pOVar20[3].base_;
          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +
                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;
          if (iVar5 != 0) {
            uVar23 = *(uint *)(iVar5 + 0x30);
            uVar11 = *(uint *)(iVar5 + 0x34);
            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;
            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;
            return;
          }
          piVar10[5] = 0;
          piVar10[6] = 0;
          return;
        }
      }
      gold::Output_file::get_output_view
                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);
    }
    (**(code **)(pcVar25 + 0x3ea580))
              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350);
  }
  pcVar26 = *(code **)(pcVar25 + 0x3ea580);
  (*pcVar26)(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c);
  pcVar25 = *(code **)(pcVar26 + 0x3ea3cc);
  iVar5 = *(int *)(pcVar26 + 0x3e9c18) + 0x3574;
  (*pcVar25)(iVar5,0xc5,*(int *)(pcVar26 + 0x3ea3ec) + -0x3478);
  if (*(int *)(iVar5 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar26 = *(code **)(pcVar25 + 0x3ea398);
  (*pcVar26)(*(int *)(pcVar25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea3b8) + -0x3350);
  pcVar25 = *(code **)(pcVar26 + 0x3ea338);
  iVar5 = *(int *)(pcVar26 + 0x3e9b84) + 0x3574;
  (*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea358) + -0x3350);
  if (*(int *)(iVar5 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar26 = *(code **)(pcVar25 + 0x3ea304);
  iVar5 = *(int *)(pcVar25 + 0x3e9b50) + 0x3574;
  (*pcVar26)(iVar5,0xcf,*(int *)(pcVar25 + 0x3ea324) + -0x3350);
  if (*(int *)(iVar5 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar25 = *(code **)(pcVar26 + 0x3ea2a4);
  iVar5 = *(int *)(pcVar26 + 0x3e9af0) + 0x3574;
  (*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea2c4) + -0x3350);
  if (*(int *)(iVar5 + 0x14) == 0) {
    return;
  }
  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {
    return;
  }
  pcVar26 = *(code **)(pcVar25 + 0x3ea244);
  (*pcVar26)(*(int *)(pcVar25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea264) + -0x3350);
  this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar26 + 0x3e9a30) + 0x3574);
  (**(code **)(pcVar26 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar26 + 0x3ea204) + -0x39fc);
  ppVar19 = (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 *)&ppVar19[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);
  }
  iVar5 = 0x10;
  if ((int)(ppVar19[1].first << 6) < 0) {
    if (*(char *)((int)&ppVar19[0x10].first + 2) != '\0') {
      iVar5 = 0x14;
    }
  }
  else {
    iVar5 = 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> *)
         (iVar5 * (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);
}



void FUN_000d6b0c(int param_1,int param_2)

{
  char cVar1;
  ushort uVar2;
  char *pcVar3;
  undefined4 uVar4;
  ushort *puVar5;
  undefined4 *puVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  undefined *puVar11;
  char *pcVar12;
  ushort *puVar13;
  uint uVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
    if (*(int *)(param_1 + 0x20) << 1 < 0) {
      uVar7 = *(uint *)(param_1 + 0x14);
      if (*(int *)(param_1 + 0x10) == 0) {
        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);
        if (-1 < *(int *)(param_1 + 0x18)) {
          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);
          if ((iVar10 <= *(int *)(param_2 + 8)) &&
             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {
            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));
            pcVar12 = pcVar3 + uVar7;
            if (pcVar12 < pcVar3 + 8) {
              return;
            }
            uVar7 = (uint)(byte)pcVar3[1];
            cVar1 = *pcVar3;
            if (7 < uVar7) {
              iVar10 = *(int *)(param_1 + 0xfc);
              do {
                if (cVar1 == '\x01') {
                  iVar8 = *(int *)(iVar10 + 0x18);
                  if (iVar8 == 0) {
                    pcVar3[0x1c] = '\0';
                    pcVar3[0x1d] = '\0';
                    pcVar3[0x1e] = '\0';
                    pcVar3[0x1f] = '\0';
                  }
                  else {
                    uVar14 = *(uint *)(iVar8 + 0x30);
                    *(uint *)(pcVar3 + 0x1c) =
                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (pcVar12 < pcVar3 + uVar7 + 8) {
                  return;
                }
                pcVar3 = pcVar3 + uVar7;
                uVar7 = (uint)(byte)pcVar3[1];
                cVar1 = *pcVar3;
              } while (7 < uVar7);
            }
            uVar4 = (*(code *)PTR_gettext_004c5c30)
                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);
            return;
          }
        }
        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;
  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
  puVar15 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (*(int *)(puVar11 + 0x20) << 2 < 0) {
    if (*(int *)(puVar11 + 0x20) << 1 < 0) {
      if (-1 < *(int *)(puVar11 + 0x18)) {
        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);
        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);
        if ((iVar8 <= *(int *)(iVar10 + 8)) &&
           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {
          puVar13 = *(ushort **)(puVar11 + 0x30);
          uVar2 = *puVar13;
          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));
          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);
          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);
          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);
          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);
          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);
          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);
          iVar10 = *(int *)(puVar11 + 0x30);
          uVar7 = *(uint *)(iVar10 + 8);
          *(uint *)(puVar5 + 4) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0xc);
          *(uint *)(puVar5 + 6) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x10);
          *(uint *)(puVar5 + 8) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x14);
          *(uint *)(puVar5 + 10) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(puVar15 + 0x3ead54))
              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar16 = *(code **)(puVar15 + 0x3ead54);
  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;
  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    if (*(int *)(iVar10 + 0x20) << 1 < 0) {
      if (-1 < *(int *)(iVar10 + 0x18)) {
        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);
        if ((iVar9 <= *(int *)(iVar8 + 8)) &&
           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
          puVar13 = *(ushort **)(iVar10 + 0x30);
          uVar2 = *puVar13;
          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);
          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);
          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);
          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);
          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);
          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);
          iVar10 = *(int *)(iVar10 + 0x30);
          uVar7 = *(uint *)(iVar10 + 8);
          *(uint *)(puVar5 + 4) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0xc);
          *(uint *)(puVar5 + 6) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x10);
          *(uint *)(puVar5 + 8) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x14);
          *(uint *)(puVar5 + 10) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(pcVar16 + 0x3eabf0))
              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);
  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;
  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    if (*(int *)(iVar10 + 0x20) << 1 < 0) {
      uVar7 = *(uint *)(iVar10 + 0x14);
      if (*(int *)(iVar10 + 0x10) == 0) {
        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);
        if (-1 < *(int *)(iVar10 + 0x18)) {
          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);
          if ((iVar9 <= *(int *)(iVar8 + 8)) &&
             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {
            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
            pcVar12 = pcVar3 + uVar7;
            if (pcVar12 < pcVar3 + 8) {
              return;
            }
            uVar7 = (uint)(byte)pcVar3[1];
            cVar1 = *pcVar3;
            if (7 < uVar7) {
              iVar8 = *(int *)(iVar10 + 0xfc);
              do {
                if (cVar1 == '\x01') {
                  iVar9 = *(int *)(iVar8 + 0x18);
                  if (iVar9 == 0) {
                    pcVar3[0x24] = '\0';
                    pcVar3[0x25] = '\0';
                    pcVar3[0x26] = '\0';
                    pcVar3[0x27] = '\0';
                    pcVar3[0x20] = '\0';
                    pcVar3[0x21] = '\0';
                    pcVar3[0x22] = '\0';
                    pcVar3[0x23] = '\0';
                  }
                  else {
                    uVar4 = *(undefined4 *)(iVar9 + 0x30);
                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);
                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;
                  }
                }
                if (pcVar12 < pcVar3 + uVar7 + 8) {
                  return;
                }
                pcVar3 = pcVar3 + uVar7;
                uVar7 = (uint)(byte)pcVar3[1];
                cVar1 = *pcVar3;
              } while (7 < uVar7);
            }
            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);
            return;
          }
        }
        FUN_000d5cdc();
      }
      (**(code **)(pcVar17 + 0x3eaa8c))
                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);
    }
    (**(code **)(pcVar17 + 0x3eaa8c))
              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);
  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;
  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);
  if (-1 < *(int *)(iVar10 + 0x20) << 2) {
    (**(code **)(pcVar16 + 0x3ea8b8))
              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);
    return;
  }
  if (*(int *)(iVar10 + 0x20) << 1 < 0) {
    if (-1 < *(int *)(iVar10 + 0x18)) {
      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);
      if ((iVar9 <= *(int *)(iVar8 + 8)) &&
         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
        uVar4 = *(undefined4 *)(iVar10 + 0x38);
        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
        iVar8 = *(int *)(iVar10 + 0x30);
        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);
        *puVar6 = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x40);
        iVar8 = *(int *)(iVar8 + 0x18);
        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);
        puVar6[1] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x48);
        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);
        puVar6[2] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x50);
        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);
        puVar6[3] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x58);
        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);
        puVar6[4] = uVar4;
        if (iVar8 != 0) {
          uVar4 = *(undefined4 *)(iVar8 + 0x30);
          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);
          puVar6[5] = uVar4;
          return;
        }
        puVar6[6] = 0;
        puVar6[5] = 0;
        return;
      }
    }
    FUN_000d5cdc();
  }
  (**(code **)(pcVar16 + 0x3ea8b8))
            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);
  return;
}


lui gp,0x3f
addiu gp,gp,0x2734
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 s1,0x20(sp)
beq v1,zero,0x000d6cc0
_sw s0,0x1c(sp)
ext v0,v0,0x1e,0x1
lw a3,0x18(a0)
or s1,a0,zero
beq v0,zero,0x000d6ca4
_lw a2,0x1c(a0)
lw v0,0x10(a0)
bne v0,zero,0x000d6c88
_lw v1,0x14(a0)
bltz a3,0x000d6c78
_addu t0,v1,a2
lw v0,0x8(a1)
sltu a0,t0,v1
addu a0,a0,a3
slt a3,v0,a0
bne a3,zero,0x000d6c7c
_lw t9,-0x77f4(gp)
beq v0,a0,0x000d6c68
_nop
lw v0,0x10(a1)
addu v0,v0,a2
addu a1,v0,v1
addiu v1,v0,0x8
sltu v1,a1,v1
bne v1,zero,0x000d6c14
_lw ra,0x24(sp)
lbu s0,0x1(v0)
sltiu a0,s0,0x8
bne a0,zero,0x000d6c30
_lbu v1,0x0(v0)
lw a3,0xfc(s1)
b 0x000d6bdc
_li a2,0x1
addu v0,v0,s0
addiu v1,v0,0x8
sltu v1,a1,v1
bne v1,zero,0x000d6c14
_lw ra,0x24(sp)
lbu s0,0x1(v0)
sltiu a0,s0,0x8
bne a0,zero,0x000d6c30
_lbu v1,0x0(v0)
bne v1,a2,0x000d6bb8
_nop
lw v1,0x18(a3)
beq v1,zero,0x000d6c24
_nop
lw v1,0x30(v1)
wsbh v1,v1
rotr v1,v1,0x10
sw v1,0x1c(v0)
addu v0,v0,s0
addiu v1,v0,0x8
sltu v1,a1,v1
beq v1,zero,0x000d6bcc
_lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
or v1,zero,zero
b 0x000d6c00
_sw v1,0x1c(v0)
lw a0,-0x7fc4(gp)
lw t9,-0x3610(gp)
jalr t9
_addiu a0,a0,0x3888
or a2,s0,zero
lw gp,0x10(sp)
or a0,v0,zero
lw a1,0x24(s1)
lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
lw t9,-0x7814(gp)
jr t9
_addiu sp,sp,0x28
lw v0,0xc(a1)
sltu t0,v0,t0
beq t0,zero,0x000d6b80
_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_000d6b0c(int param_1,int param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}\n\n" (function_definition "void FUN_000d6b0c(int param_1,int param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" primitive_type (function_declarator "FUN_000d6b0c(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  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ushort *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ushort *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    }" { (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(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) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar14 = uVar7 + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "uVar7 + *(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 (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }" { (expression_statement "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" identifier = (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) ))) + (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 ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" if (parenthesized_expression "((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))))" ( (binary_expression "(iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar10 <= *(int *)(param_2 + 8))" ( (binary_expression "iVar10 <= *(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) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))" ( (binary_expression "*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar10" (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 "(uVar14 <= *(uint *)(param_2 + 0xc))" ( (binary_expression "uVar14 <= *(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            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" { (expression_statement "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" identifier = (cast_expression "(char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" ( (binary_expression "*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c)" (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) )))) + (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) ))))) )))) ;) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar12 < pcVar3 + 8)" ( (binary_expression "pcVar12 < pcVar3 + 8" identifier < (binary_expression "pcVar3 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) (if_statement "if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" if (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) (compound_statement "{\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" { (expression_statement "iVar10 = *(int *)(param_1 + 0xfc);" (assignment_expression "iVar10 = *(int *)(param_1 + 0xfc)" identifier = (pointer_expression "*(int *)(param_1 + 0xfc)" * (cast_expression "(int *)(param_1 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfc)" ( (binary_expression "param_1 + 0xfc" identifier + number_literal) ))))) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar8 = *(int *)(iVar10 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x18)" identifier = (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }" { (expression_statement "pcVar3[0x1c] = '\0';" (assignment_expression "pcVar3[0x1c] = '\0'" (subscript_expression "pcVar3[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1d] = '\0';" (assignment_expression "pcVar3[0x1d] = '\0'" (subscript_expression "pcVar3[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1e] = '\0';" (assignment_expression "pcVar3[0x1e] = '\0'" (subscript_expression "pcVar3[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1f] = '\0';" (assignment_expression "pcVar3[0x1f] = '\0'" (subscript_expression "pcVar3[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar14 = *(uint *)(iVar8 + 0x30);" (assignment_expression "uVar14 = *(uint *)(iVar8 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x30)" * (cast_expression "(uint *)(iVar8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar3 + 0x1c)" * (cast_expression "(uint *)(pcVar3 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x1c)" ( (binary_expression "pcVar3 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" ( (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" identifier < (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) ;) })) (expression_statement "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);" (assignment_expression "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888" identifier + number_literal) )))) ;) comment comment (expression_statement "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);" (call_expression "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" (parenthesized_expression "(*(code *)PTR_gold_error_004c1a2c)" ( (pointer_expression "*(code *)PTR_gold_error_004c1a2c" * (cast_expression "(code *)PTR_gold_error_004c1a2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;) })) })) (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 "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar15 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,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 "(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(puVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 2" (pointer_expression "*(int *)(puVar11 + 0x20)" * (cast_expression "(int *)(puVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x20)" ( (binary_expression "puVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" { (if_statement "if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(puVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 1" (pointer_expression "*(int *)(puVar11 + 0x20)" * (cast_expression "(int *)(puVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x20)" ( (binary_expression "puVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" { (if_statement "if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(puVar11 + 0x18))" ( (binary_expression "-1 < *(int *)(puVar11 + 0x18)" number_literal < (pointer_expression "*(int *)(puVar11 + 0x18)" * (cast_expression "(int *)(puVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" identifier = (binary_expression "*(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" (pointer_expression "*(uint *)(puVar11 + 0x14)" * (cast_expression "(uint *)(puVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x14)" ( (binary_expression "puVar11 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar11 + 0x1c)" * (cast_expression "(int *)(puVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x1c)" ( (binary_expression "puVar11 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);" (assignment_expression "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(puVar11 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(puVar11 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar11 + 0x14)" * (cast_expression "(uint *)(puVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x14)" ( (binary_expression "puVar11 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(puVar11 + 0x18)" * (cast_expression "(int *)(puVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))))" ( (binary_expression "(iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar8 <= *(int *)(iVar10 + 8))" ( (binary_expression "iVar8 <= *(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) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar8" (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 "(uVar7 <= *(uint *)(iVar10 + 0xc))" ( (binary_expression "uVar7 <= *(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          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar13 = *(ushort **)(puVar11 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(puVar11 + 0x30)" identifier = (pointer_expression "*(ushort **)(puVar11 + 0x30)" * (cast_expression "(ushort **)(puVar11 + 0x30)" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" identifier = (cast_expression "(ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" ( (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c)" (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) )))) + (pointer_expression "*(int *)(puVar11 + 0x1c)" * (cast_expression "(int *)(puVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x1c)" ( (binary_expression "puVar11 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" * 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 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" * (cast_expression "(undefined1 *)(puVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 1)" ( (binary_expression "puVar5 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar13 + 1)" * (cast_expression "(undefined1 *)(puVar13 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 1)" ( (binary_expression "puVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" * (cast_expression "(undefined1 *)((int)puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 3)" ( (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 3)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 3" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" * (cast_expression "(undefined1 *)(puVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 2)" ( (binary_expression "puVar5 + 2" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 4)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 4" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" * (cast_expression "(undefined1 *)((int)puVar5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 5)" ( (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 5)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 5" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" * (cast_expression "(undefined1 *)(puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 3)" ( (binary_expression "puVar5 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 6)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 6" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" * (cast_expression "(undefined1 *)((int)puVar5 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 7)" ( (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 7)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 7" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar11 + 0x30);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x30)" identifier = (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" identifier = (pointer_expression "*(uint *)(iVar10 + 8)" * (cast_expression "(uint *)(iVar10 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" * (cast_expression "(uint *)(puVar5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(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) ))))) ;) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" * (cast_expression "(uint *)(puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 6)" ( (binary_expression "puVar5 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" * (cast_expression "(uint *)(puVar5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" * (cast_expression "(uint *)(puVar5 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 10)" ( (binary_expression "puVar5 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);" (call_expression "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" (parenthesized_expression "(**(code **)(puVar15 + 0x3ead54))" ( (pointer_expression "**(code **)(puVar15 + 0x3ead54)" * (pointer_expression "*(code **)(puVar15 + 0x3ead54)" * (cast_expression "(code **)(puVar15 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3ead54)" ( (binary_expression "puVar15 + 0x3ead54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" ( (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" * (cast_expression "(int *)(puVar15 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ea5a0)" ( (binary_expression "puVar15 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3350" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" * (cast_expression "(int *)(puVar15 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ead74)" ( (binary_expression "puVar15 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x3ead54);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x3ead54)" identifier = (pointer_expression "*(code **)(puVar15 + 0x3ead54)" * (cast_expression "(code **)(puVar15 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3ead54)" ( (binary_expression "puVar15 + 0x3ead54" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574" identifier = (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" * (cast_expression "(int *)(puVar15 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ea5a0)" ( (binary_expression "puVar15 + 0x3ea5a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3a3c" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" * (cast_expression "(int *)(puVar15 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ead74)" ( (binary_expression "puVar15 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" { (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" { (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar13 = *(ushort **)(iVar10 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(iVar10 + 0x30)" identifier = (pointer_expression "*(ushort **)(iVar10 + 0x30)" * (cast_expression "(ushort **)(iVar10 + 0x30)" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" * 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 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" * (cast_expression "(undefined1 *)(puVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 1)" ( (binary_expression "puVar5 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar13 + 1)" * (cast_expression "(undefined1 *)(puVar13 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 1)" ( (binary_expression "puVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" * (cast_expression "(undefined1 *)((int)puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 3)" ( (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 3)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 3" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" * (cast_expression "(undefined1 *)(puVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 2)" ( (binary_expression "puVar5 + 2" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 4)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 4" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" * (cast_expression "(undefined1 *)((int)puVar5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 5)" ( (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 5)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 5" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" * (cast_expression "(undefined1 *)(puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 3)" ( (binary_expression "puVar5 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 6)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 6" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" * (cast_expression "(undefined1 *)((int)puVar5 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 7)" ( (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 7)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 7" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x30)" identifier = (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" identifier = (pointer_expression "*(uint *)(iVar10 + 8)" * (cast_expression "(uint *)(iVar10 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" * (cast_expression "(uint *)(puVar5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(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) ))))) ;) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" * (cast_expression "(uint *)(puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 6)" ( (binary_expression "puVar5 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" * (cast_expression "(uint *)(puVar5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" * (cast_expression "(uint *)(puVar5 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 10)" ( (binary_expression "puVar5 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3eabf0))" ( (pointer_expression "**(code **)(pcVar16 + 0x3eabf0)" * (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" * (cast_expression "(code **)(pcVar16 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3eabf0)" ( (binary_expression "pcVar16 + 0x3eabf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" * (cast_expression "(int *)(pcVar16 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea43c)" ( (binary_expression "pcVar16 + 0x3ea43c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" * (cast_expression "(int *)(pcVar16 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3eac10)" ( (binary_expression "pcVar16 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x3eabf0);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x3eabf0)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" * (cast_expression "(code **)(pcVar16 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3eabf0)" ( (binary_expression "pcVar16 + 0x3eabf0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574" identifier = (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" * (cast_expression "(int *)(pcVar16 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea43c)" ( (binary_expression "pcVar16 + 0x3ea43c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);" (call_expression "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" * (cast_expression "(int *)(pcVar16 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3eac10)" ( (binary_expression "pcVar16 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" { (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" if (parenthesized_expression "(*(int *)(iVar10 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar10 + 0x10) == 0" (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) )))) == number_literal) )) (compound_statement "{\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "uVar7 + *(int *)(iVar10 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" { (expression_statement "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar14 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar14 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" { (expression_statement "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar12 < pcVar3 + 8)" ( (binary_expression "pcVar12 < pcVar3 + 8" identifier < (binary_expression "pcVar3 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) (if_statement "if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" if (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) (compound_statement "{\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" { (expression_statement "iVar8 = *(int *)(iVar10 + 0xfc);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0xfc)" identifier = (pointer_expression "*(int *)(iVar10 + 0xfc)" * (cast_expression "(int *)(iVar10 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xfc)" ( (binary_expression "iVar10 + 0xfc" identifier + number_literal) ))))) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" { (expression_statement "iVar9 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }" { (expression_statement "pcVar3[0x24] = '\0';" (assignment_expression "pcVar3[0x24] = '\0'" (subscript_expression "pcVar3[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x25] = '\0';" (assignment_expression "pcVar3[0x25] = '\0'" (subscript_expression "pcVar3[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x26] = '\0';" (assignment_expression "pcVar3[0x26] = '\0'" (subscript_expression "pcVar3[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x27] = '\0';" (assignment_expression "pcVar3[0x27] = '\0'" (subscript_expression "pcVar3[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x20] = '\0';" (assignment_expression "pcVar3[0x20] = '\0'" (subscript_expression "pcVar3[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x21] = '\0';" (assignment_expression "pcVar3[0x21] = '\0'" (subscript_expression "pcVar3[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x22] = '\0';" (assignment_expression "pcVar3[0x22] = '\0'" (subscript_expression "pcVar3[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x23] = '\0';" (assignment_expression "pcVar3[0x23] = '\0'" (subscript_expression "pcVar3[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" else (compound_statement "{\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" { (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x30)" * (cast_expression "(undefined4 *)(iVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);" (assignment_expression "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34)" (pointer_expression "*(undefined4 *)(pcVar3 + 0x24)" * (cast_expression "(undefined4 *)(pcVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x24)" ( (binary_expression "pcVar3 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x34)" * (cast_expression "(undefined4 *)(iVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x34)" ( (binary_expression "iVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar3 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(pcVar3 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(pcVar3 + 0x20)" * (cast_expression "(undefined4 *)(pcVar3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x20)" ( (binary_expression "pcVar3 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) })) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" ( (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" identifier < (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) ;) })) (expression_statement "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);" (assignment_expression "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eec8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eec8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eec8c)" * (cast_expression "(code **)(pcVar17 + 0x3eec8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eec8c)" ( (binary_expression "pcVar17 + 0x3eec8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3888" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);" (call_expression "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa88))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa88)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa88)" * (cast_expression "(code **)(pcVar17 + 0x3eaa88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa88)" ( (binary_expression "pcVar17 + 0x3eaa88" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" ( identifier , (pointer_expression "*(undefined4 *)(iVar10 + 0x24)" * (cast_expression "(undefined4 *)(iVar10 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x4584" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3350" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574" identifier = (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3ea8b8)" ( (binary_expression "pcVar16 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" * (cast_expression "(int *)(pcVar16 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea104)" ( (binary_expression "pcVar16 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea8d8)" ( (binary_expression "pcVar16 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" { (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" { (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x38);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x38)" * (cast_expression "(undefined4 *)(iVar10 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar8 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x30)" identifier = (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);" (assignment_expression "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c)" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x3c)" * (cast_expression "(undefined4 *)(iVar10 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3c)" ( (binary_expression "iVar10 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*puVar6 = uVar4;" (assignment_expression "*puVar6 = uVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x40);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x40)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x40)" * (cast_expression "(undefined4 *)(iVar10 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x40)" ( (binary_expression "iVar10 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = *(undefined4 *)(iVar10 + 0x44);" (assignment_expression "puVar6[2] = *(undefined4 *)(iVar10 + 0x44)" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x44)" * (cast_expression "(undefined4 *)(iVar10 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x44)" ( (binary_expression "iVar10 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "puVar6[1] = uVar4;" (assignment_expression "puVar6[1] = uVar4" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x48);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x48)" * (cast_expression "(undefined4 *)(iVar10 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x48)" ( (binary_expression "iVar10 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);" (assignment_expression "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c)" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x4c)" * (cast_expression "(undefined4 *)(iVar10 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x4c)" ( (binary_expression "iVar10 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = uVar4;" (assignment_expression "puVar6[2] = uVar4" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x50);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x50)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x50)" * (cast_expression "(undefined4 *)(iVar10 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x50)" ( (binary_expression "iVar10 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "puVar6[4] = *(undefined4 *)(iVar10 + 0x54);" (assignment_expression "puVar6[4] = *(undefined4 *)(iVar10 + 0x54)" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x54)" * (cast_expression "(undefined4 *)(iVar10 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x54)" ( (binary_expression "iVar10 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "puVar6[3] = uVar4;" (assignment_expression "puVar6[3] = uVar4" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x58);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x58)" * (cast_expression "(undefined4 *)(iVar10 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);" (assignment_expression "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c)" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x5c)" * (cast_expression "(undefined4 *)(iVar10 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[4] = uVar4;" (assignment_expression "puVar6[4] = uVar4" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" { (expression_statement "uVar4 = *(undefined4 *)(iVar8 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar8 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x30)" * (cast_expression "(undefined4 *)(iVar8 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar6[6] = *(undefined4 *)(iVar8 + 0x34);" (assignment_expression "puVar6[6] = *(undefined4 *)(iVar8 + 0x34)" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar8 + 0x34)" * (cast_expression "(undefined4 *)(iVar8 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x34)" ( (binary_expression "iVar8 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar6[5] = uVar4;" (assignment_expression "puVar6[5] = uVar4" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3ea8b8)" ( (binary_expression "pcVar16 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" * (cast_expression "(int *)(pcVar16 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea104)" ( (binary_expression "pcVar16 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea8d8)" ( (binary_expression "pcVar16 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\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/* WARNING: Struct "Mips_output_section_options<32,_false>": ignoring overlapping field "target_" */\n/* DWARF original prototype: void do_write(Mips_output_section_options<32,_false> * this,\n   Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_29466b::Mips_output_section_options<32,_false>::do_write\n          (Mips_output_section_options<32,_false> *this,Output_file *of)\n\n{\n  uchar uVar1;\n  char cVar2;\n  ushort uVar3;\n  off_t oVar4;\n  int iVar5;\n  uchar *puVar6;\n  undefined4 uVar7;\n  ushort *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  uint uVar11;\n  Output_file *pOVar12;\n  char *pcVar13;\n  Output_file *pOVar14;\n  uint uVar15;\n  Target_mips<64,_false> *this_00;\n  uchar *puVar16;\n  size_t sVar17;\n  char *pcVar18;\n  pointer ppVar19;\n  Output_file *pOVar20;\n  ushort *puVar21;\n  int iVar22;\n  uint uVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  undefined4 in_stack_ffffff1c;\n  undefined4 in_stack_ffffff3c;\n  undefined4 in_stack_ffffff64;\n  undefined4 in_stack_ffffff84;\n  undefined4 in_stack_ffffffac;\n  undefined4 in_stack_ffffffcc;\n  int iVar27;\n  undefined4 in_stack_ffffffec;\n  \n  iVar5 = *(int *)&(this->super_Output_section).super_Output_data.field_0x20;\n  iVar27 = 0x4c9240;\n  if (iVar5 << 2 < 0) {\n    iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_;\n    pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4);\n    if (iVar5 << 1 < 0) {\n      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\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  sVar17 = 0xe3;\n  pOVar20 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  puVar24 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar20,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);\n    }\n    (**(code **)(puVar24 + 0x3ead54))\n              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350);\n  }\n  sVar17 = 0xe3;\n  pcVar25 = *(code **)(puVar24 + 0x3ead54);\n  pOVar20 = (Output_file *)(*(int *)(puVar24 + 0x3ea5a0) + 0x3574);\n  (*pcVar25)(pOVar20,0xe3,*(int *)(puVar24 + 0x3ead74) + -0x3a3c);\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3eabf0))\n              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350);\n  }\n  sVar17 = 0xe3;\n  pcVar26 = *(code **)(pcVar25 + 0x3eabf0);\n  pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea43c) + 0x3574);\n  (*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3eac10) + -0x3a3c);\n  pcVar25 = pcVar26 + 0x3f229c;\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3eaa8c))\n              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350);\n  }\n  sVar17 = 0xe3;\n  pcVar25 = *(code **)(pcVar26 + 0x3eaa8c);\n  pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574);\n  (*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c);\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea8b8))\n              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350);\n  }\n  sVar17 = 0xe3;\n  pcVar26 = *(code **)(pcVar25 + 0x3ea8b8);\n  pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea104) + 0x3574);\n  (*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c);\n  pcVar25 = pcVar26 + 0x3f1f74;\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3ea764))\n              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350);\n  }\n  sVar17 = 0xe3;\n  pcVar25 = *(code **)(pcVar26 + 0x3ea764);\n  pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574);\n  (*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3ea784) + -0x3a3c);\n  if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea580))\n              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350);\n  }\n  pcVar26 = *(code **)(pcVar25 + 0x3ea580);\n  (*pcVar26)(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c);\n  pcVar25 = *(code **)(pcVar26 + 0x3ea3cc);\n  iVar5 = *(int *)(pcVar26 + 0x3e9c18) + 0x3574;\n  (*pcVar25)(iVar5,0xc5,*(int *)(pcVar26 + 0x3ea3ec) + -0x3478);\n  if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0x3ea398);\n  (*pcVar26)(*(int *)(pcVar25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea3b8) + -0x3350);\n  pcVar25 = *(code **)(pcVar26 + 0x3ea338);\n  iVar5 = *(int *)(pcVar26 + 0x3e9b84) + 0x3574;\n  (*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea358) + -0x3350);\n  if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0x3ea304);\n  iVar5 = *(int *)(pcVar25 + 0x3e9b50) + 0x3574;\n  (*pcVar26)(iVar5,0xcf,*(int *)(pcVar25 + 0x3ea324) + -0x3350);\n  if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0x3ea2a4);\n  iVar5 = *(int *)(pcVar26 + 0x3e9af0) + 0x3574;\n  (*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea2c4) + -0x3350);\n  if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }\n  if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0x3ea244);\n  (*pcVar26)(*(int *)(pcVar25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea264) + -0x3350);\n  this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar26 + 0x3e9a30) + 0x3574);\n  (**(code **)(pcVar26 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar26 + 0x3ea204) + -0x39fc);\n  ppVar19 = (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 *)&ppVar19[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  iVar5 = 0x10;\n  if ((int)(ppVar19[1].first << 6) < 0) {\n    if (*(char *)((int)&ppVar19[0x10].first + 2) != '\0') {\n      iVar5 = 0x14;\n    }\n  }\n  else {\n    iVar5 = 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         (iVar5 * (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\n" comment comment comment comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_29466b::Mips_output_section_options<32,_false>::do_write\n          (Mips_output_section_options<32,_false> *this,Output_file *of)\n\n{\n  uchar uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_29466b::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_write\n          (Mips_output_section_options<32,_false> *this,Output_file *of)\n\n{\n  uchar" identifier > : : (function_declarator "do_write\n          (Mips_output_section_options<32,_false> *this,Output_file *of)" identifier (parameter_list "(Mips_output_section_options<32,_false> *this,Output_file *of)" ( (parameter_declaration "Mips_output_section_options" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "off_t oVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * 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 "uint uVar11;" type_identifier identifier ;) (declaration "Output_file *pOVar12;" type_identifier (pointer_declarator "*pOVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "Output_file *pOVar14;" type_identifier (pointer_declarator "*pOVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier 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 "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "pointer ppVar19;" type_identifier identifier ;) (declaration "Output_file *pOVar20;" type_identifier (pointer_declarator "*pOVar20" * identifier) ;) (declaration "ushort *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * 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_ffffffac;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffcc;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffec;" type_identifier identifier ;) (expression_statement "iVar5 = *(int *)&(this->super_Output_section).super_Output_data.field_0x20;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_section).super_Output_data.field_0x20" identifier = (pointer_expression "*(int *)&(this->super_Output_section).super_Output_data.field_0x20" * (cast_expression "(int *)&(this->super_Output_section).super_Output_data.field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section).super_Output_data.field_0x20" & (field_expression "(this->super_Output_section).super_Output_data.field_0x20" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "iVar27 = 0x4c9240;" (assignment_expression "iVar27 = 0x4c9240" identifier = number_literal) ;) (if_statement "if (iVar5 << 2 < 0) {\n    iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_;\n    pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4);\n    if (iVar5 << 1 < 0) {\n      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\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 "(iVar5 << 2 < 0)" ( (binary_expression "iVar5 << 2 < 0" (binary_expression "iVar5 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n    iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_;\n    pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4);\n    if (iVar5 << 1 < 0) {\n      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\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 "iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_;" (assignment_expression "iVar22 = *(int *)&(this->super_Output_section).super_Output_data.offset_" identifier = (pointer_expression "*(int *)&(this->super_Output_section).super_Output_data.offset_" * (cast_expression "(int *)&(this->super_Output_section).super_Output_data.offset_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section).super_Output_data.offset_" & (field_expression "(this->super_Output_section).super_Output_data.offset_" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4);" (assignment_expression "pOVar20 = *(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4)" * (cast_expression "(Output_file **)((int)&(this->super_Output_section).super_Output_data.offset_ + 4)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(this->super_Output_section).super_Output_data.offset_ + 4)" ( (binary_expression "(int)&(this->super_Output_section).super_Output_data.offset_ + 4" (cast_expression "(int)&(this->super_Output_section).super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Output_section).super_Output_data.offset_" & (field_expression "(this->super_Output_section).super_Output_data.offset_" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar5 << 1 < 0) {\n      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\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 "(iVar5 << 1 < 0)" ( (binary_expression "iVar5 << 1 < 0" (binary_expression "iVar5 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n      uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;\n      if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\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 "uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_;" (assignment_expression "uVar23 = (uint)(this->super_Output_section).super_Output_data.data_size_" identifier = (field_expression "(uint)(this->super_Output_section).super_Output_data.data_size_" (field_expression "(uint)(this->super_Output_section).super_Output_data" (call_expression "(uint)(this->super_Output_section)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) ))) . field_identifier) . field_identifier)) ;) (if_statement "if (*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0) {\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\n      }" if (parenthesized_expression "(*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0)" ( (binary_expression "*(int *)&(this->super_Output_section).super_Output_data.data_size_ == 0" (pointer_expression "*(int *)&(this->super_Output_section).super_Output_data.data_size_" * (cast_expression "(int *)&(this->super_Output_section).super_Output_data.data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section).super_Output_data.data_size_" & (field_expression "(this->super_Output_section).super_Output_data.data_size_" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) == number_literal) )) (compound_statement "{\n        uVar11 = (int)&pOVar20->name_ + uVar23;\n        pOVar12 = (Output_file *)this;\n        if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);\n      }" { (expression_statement "uVar11 = (int)&pOVar20->name_ + uVar23;" (assignment_expression "uVar11 = (int)&pOVar20->name_ + uVar23" identifier = (binary_expression "(int)&pOVar20->name_ + uVar23" (cast_expression "(int)&pOVar20->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar20->name_" & (field_expression "pOVar20->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar12 = (Output_file *)this;" (assignment_expression "pOVar12 = (Output_file *)this" identifier = (cast_expression "(Output_file *)this" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (-1 < iVar22) {\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < iVar22)" ( (binary_expression "-1 < iVar22" number_literal < identifier) )) (compound_statement "{\n          pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);\n          if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }\n        }" { (expression_statement "pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22);" (assignment_expression "pOVar12 = (Output_file *)((uint)(uVar11 < uVar23) + iVar22)" identifier = (cast_expression "(Output_file *)((uint)(uVar11 < uVar23) + iVar22)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(uVar11 < uVar23) + iVar22)" ( (binary_expression "(uint)(uVar11 < uVar23) + iVar22" (call_expression "(uint)(uVar11 < uVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar23)" ( (binary_expression "uVar11 < uVar23" identifier < identifier) ))) + identifier) )))) ;) (if_statement "if (((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))) {\n            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_))))" ( (binary_expression "((int)pOVar12 <= (int)*(Output_file **)&of->file_size_) &&\n             ((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))" (parenthesized_expression "((int)pOVar12 <= (int)*(Output_file **)&of->file_size_)" ( (binary_expression "(int)pOVar12 <= (int)*(Output_file **)&of->file_size_" (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)&of->file_size_" * (cast_expression "(Output_file **)&of->file_size_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))))) )) && (parenthesized_expression "((*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)))" ( (parenthesized_expression "(*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_))" ( (binary_expression "*(Output_file **)&of->file_size_ != pOVar12 || (uVar11 <= (uint)of->file_size_)" (binary_expression "*(Output_file **)&of->file_size_ != pOVar12" (pointer_expression "*(Output_file **)&of->file_size_" * (cast_expression "(Output_file **)&of->file_size_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) != identifier) || (parenthesized_expression "(uVar11 <= (uint)of->file_size_)" ( (binary_expression "uVar11 <= (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            puVar6 = of->base_ + (int)pOVar20;\n            puVar16 = puVar6 + uVar23;\n            if (puVar16 < puVar6 + 8) {\n              return;\n            }\n            uVar23 = (uint)puVar6[1];\n            uVar1 = *puVar6;\n            if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }\n            uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);\n            return;\n          }" { (expression_statement "puVar6 = of->base_ + (int)pOVar20;" (assignment_expression "puVar6 = of->base_ + (int)pOVar20" identifier = (binary_expression "of->base_ + (int)pOVar20" (field_expression "of->base_" identifier -> field_identifier) + (cast_expression "(int)pOVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar16 = puVar6 + uVar23;" (assignment_expression "puVar16 = puVar6 + uVar23" identifier = (binary_expression "puVar6 + uVar23" identifier + identifier)) ;) (if_statement "if (puVar16 < puVar6 + 8) {\n              return;\n            }" if (parenthesized_expression "(puVar16 < puVar6 + 8)" ( (binary_expression "puVar16 < puVar6 + 8" identifier < (binary_expression "puVar6 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = (uint)puVar6[1];" (assignment_expression "uVar23 = (uint)puVar6[1]" identifier = (cast_expression "(uint)puVar6[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (if_statement "if (7 < uVar23) {\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }" if (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) (compound_statement "{\n              iVar5 = *(int *)&(this->super_Output_section).field_0xfc;\n              do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);\n            }" { (expression_statement "iVar5 = *(int *)&(this->super_Output_section).field_0xfc;" (assignment_expression "iVar5 = *(int *)&(this->super_Output_section).field_0xfc" identifier = (pointer_expression "*(int *)&(this->super_Output_section).field_0xfc" * (cast_expression "(int *)&(this->super_Output_section).field_0xfc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section).field_0xfc" & (field_expression "(this->super_Output_section).field_0xfc" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier))))) ;) (do_statement "do {\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              } while (7 < uVar23);" do (compound_statement "{\n                if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }\n                puVar6 = puVar6 + uVar23;\n                uVar23 = (uint)puVar6[1];\n                uVar1 = *puVar6;\n              }" { (if_statement "if (uVar1 == '\x01') {\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(uVar1 == '\x01')" ( (binary_expression "uVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar22 = *(int *)(iVar5 + 0x18);\n                  if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar22 = *(int *)(iVar5 + 0x18);" (assignment_expression "iVar22 = *(int *)(iVar5 + 0x18)" identifier = (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar22 == 0) {\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n                    puVar6[0x1c] = '\0';\n                    puVar6[0x1d] = '\0';\n                    puVar6[0x1e] = '\0';\n                    puVar6[0x1f] = '\0';\n                  }" { (expression_statement "puVar6[0x1c] = '\0';" (assignment_expression "puVar6[0x1c] = '\0'" (subscript_expression "puVar6[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar6[0x1d] = '\0';" (assignment_expression "puVar6[0x1d] = '\0'" (subscript_expression "puVar6[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar6[0x1e] = '\0';" (assignment_expression "puVar6[0x1e] = '\0'" (subscript_expression "puVar6[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar6[0x1f] = '\0';" (assignment_expression "puVar6[0x1f] = '\0'" (subscript_expression "puVar6[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar11 = *(uint *)(iVar22 + 0x30);\n                    *(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar11 = *(uint *)(iVar22 + 0x30);" (assignment_expression "uVar11 = *(uint *)(iVar22 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar22 + 0x30)" * (cast_expression "(uint *)(iVar22 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x30)" ( (binary_expression "iVar22 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar6 + 0x1c) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar6 + 0x1c)" * (cast_expression "(uint *)(puVar6 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1c)" ( (binary_expression "puVar6 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (puVar16 < puVar6 + uVar23 + 8) {\n                  return;\n                }" if (parenthesized_expression "(puVar16 < puVar6 + uVar23 + 8)" ( (binary_expression "puVar16 < puVar6 + uVar23 + 8" identifier < (binary_expression "puVar6 + uVar23 + 8" (binary_expression "puVar6 + uVar23" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "puVar6 = puVar6 + uVar23;" (assignment_expression "puVar6 = puVar6 + uVar23" identifier = (binary_expression "puVar6 + uVar23" identifier + identifier)) ;) (expression_statement "uVar23 = (uint)puVar6[1];" (assignment_expression "uVar23 = (uint)puVar6[1]" identifier = (cast_expression "(uint)puVar6[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = *puVar6;" (assignment_expression "uVar1 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);" (assignment_expression "uVar7 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888" identifier + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23);" (call_expression "(**(code **)(iVar27 + -0x7814))\n                      (uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23)" (parenthesized_expression "(**(code **)(iVar27 + -0x7814))" ( (pointer_expression "**(code **)(iVar27 + -0x7814)" * (pointer_expression "*(code **)(iVar27 + -0x7814)" * (cast_expression "(code **)(iVar27 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar27 + -0x7814)" ( (binary_expression "iVar27 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24,uVar23)" ( identifier , (pointer_expression "*(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24" * (cast_expression "(undefined4 *)\n                              &(this->super_Output_section).super_Output_data.field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Output_section).super_Output_data.field_0x24" & (field_expression "(this->super_Output_section).super_Output_data.field_0x24" (field_expression "(this->super_Output_section).super_Output_data" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20);" (call_expression "get_output_view\n                  (pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20)" identifier (argument_list "(pOVar12,CONCAT44(0x4c9240,in_stack_ffffffec),(size_t)of,pOVar20)" ( 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 "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pOVar20 = (Output_file *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (assignment_expression "pOVar20 = (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 "puVar24 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar24 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar20,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(pOVar20,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 "(pOVar20,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);\n    }\n    (**(code **)(puVar24 + 0x3ead54))\n              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);\n    }\n    (**(code **)(puVar24 + 0x3ead54))\n              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].name_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].name_" identifier = (cast_expression "(Output_file *)pOVar20[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);\n    }" { (if_statement "if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" identifier = (binary_expression "*(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (binary_expression "(int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" ( (binary_expression "uVar23 < *(uint *)&pOVar20->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);" (assignment_expression "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (binary_expression "(int)*(char **)(sVar17 + 8) < (int)pcVar13" (cast_expression "(int)*(char **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(char **)(sVar17 + 8) != pcVar13" (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar23 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar23 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar21 = (ushort *)pOVar20[2].name_;" (assignment_expression "puVar21 = (ushort *)pOVar20[2].name_" identifier = (cast_expression "(ushort *)pOVar20[2].name_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "uVar3 = *puVar21;" (assignment_expression "uVar3 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);" (assignment_expression "puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" identifier = (cast_expression "(ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (binary_expression "*(int *)(sVar17 + 0x10) + pOVar20[1].o_" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "*puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;" (assignment_expression "*puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "(ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8" (call_expression "(ushort)((uVar3 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar3 & 0xff) << 8)" ( (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "uVar3 >> 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) = pOVar20[2].name_[3];" (assignment_expression "*(char *)((int)puVar8 + 3) = pOVar20[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 "pOVar20[2].name_[3]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 2) = pOVar20[2].name_[4];" (assignment_expression "*(char *)(puVar8 + 2) = pOVar20[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 "pOVar20[2].name_[4]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];" (assignment_expression "*(char *)((int)puVar8 + 5) = pOVar20[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 "pOVar20[2].name_[5]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 3) = pOVar20[2].name_[6];" (assignment_expression "*(char *)(puVar8 + 3) = pOVar20[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 "pOVar20[2].name_[6]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];" (assignment_expression "*(char *)((int)puVar8 + 7) = pOVar20[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 "pOVar20[2].name_[7]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "pcVar13 = pOVar20[2].name_;" (assignment_expression "pcVar13 = pOVar20[2].name_" identifier = (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 8);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 8)" identifier = (pointer_expression "*(uint *)(pcVar13 + 8)" * (cast_expression "(uint *)(pcVar13 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 8)" ( (binary_expression "pcVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0xc);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0xc)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0xc)" * (cast_expression "(uint *)(pcVar13 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xc)" ( (binary_expression "pcVar13 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0x10);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0x10)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0x10)" * (cast_expression "(uint *)(pcVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x10)" ( (binary_expression "pcVar13 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0x14);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0x14)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0x14)" * (cast_expression "(uint *)(pcVar13 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12);" (call_expression "get_output_view\n                (pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12)" identifier (argument_list "(pOVar20,CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(puVar24 + 0x3f2564,in_stack_ffffffcc)" identifier (argument_list "(puVar24 + 0x3f2564,in_stack_ffffffcc)" ( (binary_expression "puVar24 + 0x3f2564" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(puVar24 + 0x3ead54))\n              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350);" (call_expression "(**(code **)(puVar24 + 0x3ead54))\n              (*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350)" (parenthesized_expression "(**(code **)(puVar24 + 0x3ead54))" ( (pointer_expression "**(code **)(puVar24 + 0x3ead54)" * (pointer_expression "*(code **)(puVar24 + 0x3ead54)" * (cast_expression "(code **)(puVar24 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x3ead54)" ( (binary_expression "puVar24 + 0x3ead54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar24 + 0x3ead74) + -0x3350)" ( (binary_expression "*(int *)(puVar24 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar24 + 0x3ea5a0)" * (cast_expression "(int *)(puVar24 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x3ea5a0)" ( (binary_expression "puVar24 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x3ead74) + -0x3350" (pointer_expression "*(int *)(puVar24 + 0x3ead74)" * (cast_expression "(int *)(puVar24 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x3ead74)" ( (binary_expression "puVar24 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x3ead54);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x3ead54)" identifier = (pointer_expression "*(code **)(puVar24 + 0x3ead54)" * (cast_expression "(code **)(puVar24 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x3ead54)" ( (binary_expression "puVar24 + 0x3ead54" identifier + number_literal) ))))) ;) (expression_statement "pOVar20 = (Output_file *)(*(int *)(puVar24 + 0x3ea5a0) + 0x3574);" (assignment_expression "pOVar20 = (Output_file *)(*(int *)(puVar24 + 0x3ea5a0) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(puVar24 + 0x3ea5a0) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0x3ea5a0) + 0x3574)" ( (binary_expression "*(int *)(puVar24 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar24 + 0x3ea5a0)" * (cast_expression "(int *)(puVar24 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x3ea5a0)" ( (binary_expression "puVar24 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(pOVar20,0xe3,*(int *)(puVar24 + 0x3ead74) + -0x3a3c);" (call_expression "(*pcVar25)(pOVar20,0xe3,*(int *)(puVar24 + 0x3ead74) + -0x3a3c)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(pOVar20,0xe3,*(int *)(puVar24 + 0x3ead74) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(puVar24 + 0x3ead74) + -0x3a3c" (pointer_expression "*(int *)(puVar24 + 0x3ead74)" * (cast_expression "(int *)(puVar24 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x3ead74)" ( (binary_expression "puVar24 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3eabf0))\n              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3eabf0))\n              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].name_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].name_" identifier = (cast_expression "(Output_file *)pOVar20[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);\n    }" { (if_statement "if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" identifier = (binary_expression "*(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (binary_expression "(int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" ( (binary_expression "uVar23 < *(uint *)&pOVar20->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);" (assignment_expression "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (binary_expression "(int)*(char **)(sVar17 + 8) < (int)pcVar13" (cast_expression "(int)*(char **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(char **)(sVar17 + 8) != pcVar13" (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar23 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar23 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar21 = (ushort *)pOVar20[2].name_;\n          uVar3 = *puVar21;\n          puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          *puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;\n          *(undefined1 *)(puVar8 + 1) = *(undefined1 *)(puVar21 + 1);\n          *(char *)((int)puVar8 + 3) = pOVar20[2].name_[3];\n          *(char *)(puVar8 + 2) = pOVar20[2].name_[4];\n          *(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];\n          *(char *)(puVar8 + 3) = pOVar20[2].name_[6];\n          *(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];\n          pcVar13 = pOVar20[2].name_;\n          uVar23 = *(uint *)(pcVar13 + 8);\n          *(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0xc);\n          *(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x10);\n          *(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar23 = *(uint *)(pcVar13 + 0x14);\n          *(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar21 = (ushort *)pOVar20[2].name_;" (assignment_expression "puVar21 = (ushort *)pOVar20[2].name_" identifier = (cast_expression "(ushort *)pOVar20[2].name_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "uVar3 = *puVar21;" (assignment_expression "uVar3 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);" (assignment_expression "puVar8 = (ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" identifier = (cast_expression "(ushort *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (binary_expression "*(int *)(sVar17 + 0x10) + pOVar20[1].o_" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "*puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8;" (assignment_expression "*puVar8 = (ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8" (pointer_expression "*puVar8" * identifier) = (binary_expression "(ushort)((uVar3 & 0xff) << 8) | uVar3 >> 8" (call_expression "(ushort)((uVar3 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar3 & 0xff) << 8)" ( (binary_expression "(uVar3 & 0xff) << 8" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) << number_literal) ))) | (binary_expression "uVar3 >> 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) = pOVar20[2].name_[3];" (assignment_expression "*(char *)((int)puVar8 + 3) = pOVar20[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 "pOVar20[2].name_[3]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 2) = pOVar20[2].name_[4];" (assignment_expression "*(char *)(puVar8 + 2) = pOVar20[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 "pOVar20[2].name_[4]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 5) = pOVar20[2].name_[5];" (assignment_expression "*(char *)((int)puVar8 + 5) = pOVar20[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 "pOVar20[2].name_[5]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)(puVar8 + 3) = pOVar20[2].name_[6];" (assignment_expression "*(char *)(puVar8 + 3) = pOVar20[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 "pOVar20[2].name_[6]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(char *)((int)puVar8 + 7) = pOVar20[2].name_[7];" (assignment_expression "*(char *)((int)puVar8 + 7) = pOVar20[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 "pOVar20[2].name_[7]" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "pcVar13 = pOVar20[2].name_;" (assignment_expression "pcVar13 = pOVar20[2].name_" identifier = (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 8);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 8)" identifier = (pointer_expression "*(uint *)(pcVar13 + 8)" * (cast_expression "(uint *)(pcVar13 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 8)" ( (binary_expression "pcVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 4) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0xc);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0xc)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0xc)" * (cast_expression "(uint *)(pcVar13 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xc)" ( (binary_expression "pcVar13 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 6) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0x10);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0x10)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0x10)" * (cast_expression "(uint *)(pcVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x10)" ( (binary_expression "pcVar13 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 8) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar23 = *(uint *)(pcVar13 + 0x14);" (assignment_expression "uVar23 = *(uint *)(pcVar13 + 0x14)" identifier = (pointer_expression "*(uint *)(pcVar13 + 0x14)" * (cast_expression "(uint *)(pcVar13 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x14)" ( (binary_expression "pcVar13 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar8 + 10) =\n               (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 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 "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12);" (call_expression "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12)" identifier (argument_list "(pOVar20,CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(pcVar25 + 0x3f2400,in_stack_ffffffac)" identifier (argument_list "(pcVar25 + 0x3f2400,in_stack_ffffffac)" ( (binary_expression "pcVar25 + 0x3f2400" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar25 + 0x3eabf0))\n              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350);" (call_expression "(**(code **)(pcVar25 + 0x3eabf0))\n              (*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar25 + 0x3eabf0))" ( (pointer_expression "**(code **)(pcVar25 + 0x3eabf0)" * (pointer_expression "*(code **)(pcVar25 + 0x3eabf0)" * (cast_expression "(code **)(pcVar25 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3eabf0)" ( (binary_expression "pcVar25 + 0x3eabf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3eac10) + -0x3350)" ( (binary_expression "*(int *)(pcVar25 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3ea43c)" * (cast_expression "(int *)(pcVar25 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea43c)" ( (binary_expression "pcVar25 + 0x3ea43c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3eac10) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3eac10)" * (cast_expression "(int *)(pcVar25 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3eac10)" ( (binary_expression "pcVar25 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3eabf0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3eabf0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3eabf0)" * (cast_expression "(code **)(pcVar25 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3eabf0)" ( (binary_expression "pcVar25 + 0x3eabf0" identifier + number_literal) ))))) ;) (expression_statement "pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea43c) + 0x3574);" (assignment_expression "pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea43c) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar25 + 0x3ea43c) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3ea43c) + 0x3574)" ( (binary_expression "*(int *)(pcVar25 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3ea43c)" * (cast_expression "(int *)(pcVar25 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea43c)" ( (binary_expression "pcVar25 + 0x3ea43c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3eac10) + -0x3a3c);" (call_expression "(*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3eac10) + -0x3a3c)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pOVar20,0xe3,*(int *)(pcVar25 + 0x3eac10) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3eac10) + -0x3a3c" (pointer_expression "*(int *)(pcVar25 + 0x3eac10)" * (cast_expression "(int *)(pcVar25 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3eac10)" ( (binary_expression "pcVar25 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar25 = pcVar26 + 0x3f229c;" (assignment_expression "pcVar25 = pcVar26 + 0x3f229c" identifier = (binary_expression "pcVar26 + 0x3f229c" identifier + number_literal)) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3eaa8c))\n              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3eaa8c))\n              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].o_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].o_" identifier = (cast_expression "(Output_file *)pOVar20[1].o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);\n    }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_" identifier = (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) ;) (if_statement "if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }" if (parenthesized_expression "(pOVar20->base_ == (uchar *)0x0)" ( (binary_expression "pOVar20->base_ == (uchar *)0x0" (field_expression "pOVar20->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);\n      }" { (expression_statement "uVar11 = (int)&pOVar12->name_ + uVar23;" (assignment_expression "uVar11 = (int)&pOVar12->name_ + uVar23" identifier = (binary_expression "(int)&pOVar12->name_ + uVar23" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar14 = pOVar20;" (assignment_expression "pOVar14 = pOVar20" identifier = identifier) ;) (if_statement "if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar20[1].name_)" ( (binary_expression "-1 < (int)pOVar20[1].name_" number_literal < (cast_expression "(int)pOVar20[1].name_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }" { (expression_statement "pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));" (assignment_expression "pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23))" identifier = (cast_expression "(Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar20[1].name_ + (uVar11 < uVar23))" ( (binary_expression "pOVar20[1].name_ + (uVar11 < uVar23)" (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier) + (parenthesized_expression "(uVar11 < uVar23)" ( (binary_expression "uVar11 < uVar23" identifier < identifier) ))) )))) ;) (if_statement "if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8))" ( (binary_expression "(int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)" (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))))) )) && (parenthesized_expression "((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(Output_file **)(sVar17 + 8) != pOVar14" (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar11 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar11 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }" { (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" ( (binary_expression "(int)&pOVar12->name_ + *(int *)(sVar17 + 0x10)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar18 = pcVar13 + uVar23;" (assignment_expression "pcVar18 = pcVar13 + uVar23" identifier = (binary_expression "pcVar13 + uVar23" identifier + identifier)) ;) (if_statement "if (pcVar18 < pcVar13 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar18 < pcVar13 + 8)" ( (binary_expression "pcVar18 < pcVar13 + 8" identifier < (binary_expression "pcVar13 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = (uint)(byte)pcVar13[1];" (assignment_expression "uVar23 = (uint)(byte)pcVar13[1]" identifier = (cast_expression "(uint)(byte)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (if_statement "if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }" if (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) (compound_statement "{\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }" { (expression_statement "oVar4 = pOVar20[10].file_size_;" (assignment_expression "oVar4 = pOVar20[10].file_size_" identifier = (field_expression "pOVar20[10].file_size_" (subscript_expression "pOVar20[10]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);" do (compound_statement "{\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              }" { (if_statement "if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }" if (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }\n                }" { (expression_statement "iVar5 = *(int *)((int)oVar4 + 0x18);" (assignment_expression "iVar5 = *(int *)((int)oVar4 + 0x18)" identifier = (pointer_expression "*(int *)((int)oVar4 + 0x18)" * (cast_expression "(int *)((int)oVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)oVar4 + 0x18)" ( (binary_expression "(int)oVar4 + 0x18" (cast_expression "(int)oVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }\n                  else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                  }" { (expression_statement "pcVar13[0x24] = '\0';" (assignment_expression "pcVar13[0x24] = '\0'" (subscript_expression "pcVar13[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x25] = '\0';" (assignment_expression "pcVar13[0x25] = '\0'" (subscript_expression "pcVar13[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x26] = '\0';" (assignment_expression "pcVar13[0x26] = '\0'" (subscript_expression "pcVar13[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x27] = '\0';" (assignment_expression "pcVar13[0x27] = '\0'" (subscript_expression "pcVar13[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x20] = '\0';" (assignment_expression "pcVar13[0x20] = '\0'" (subscript_expression "pcVar13[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x21] = '\0';" (assignment_expression "pcVar13[0x21] = '\0'" (subscript_expression "pcVar13[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x22] = '\0';" (assignment_expression "pcVar13[0x22] = '\0'" (subscript_expression "pcVar13[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x23] = '\0';" (assignment_expression "pcVar13[0x23] = '\0'" (subscript_expression "pcVar13[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }" else (compound_statement "{\n                    uVar7 = *(undefined4 *)(iVar5 + 0x30);\n                    *(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);\n                    *(undefined4 *)(pcVar13 + 0x20) = uVar7;\n                  }" { (expression_statement "uVar7 = *(undefined4 *)(iVar5 + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(iVar5 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 0x30)" * (cast_expression "(undefined4 *)(iVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34);" (assignment_expression "*(undefined4 *)(pcVar13 + 0x24) = *(undefined4 *)(iVar5 + 0x34)" (pointer_expression "*(undefined4 *)(pcVar13 + 0x24)" * (cast_expression "(undefined4 *)(pcVar13 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar5 + 0x34)" * (cast_expression "(undefined4 *)(iVar5 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar13 + 0x20) = uVar7;" (assignment_expression "*(undefined4 *)(pcVar13 + 0x20) = uVar7" (pointer_expression "*(undefined4 *)(pcVar13 + 0x20)" * (cast_expression "(undefined4 *)(pcVar13 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x20)" ( (binary_expression "pcVar13 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) })) (if_statement "if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar18 < pcVar13 + uVar23 + 8)" ( (binary_expression "pcVar18 < pcVar13 + uVar23 + 8" identifier < (binary_expression "pcVar13 + uVar23 + 8" (binary_expression "pcVar13 + uVar23" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = pcVar13 + uVar23;" (assignment_expression "pcVar13 = pcVar13 + uVar23" identifier = (binary_expression "pcVar13 + uVar23" identifier + identifier)) ;) (expression_statement "uVar23 = (uint)(byte)pcVar13[1];" (assignment_expression "uVar23 = (uint)(byte)pcVar13[1]" identifier = (cast_expression "(uint)(byte)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar26 + 0x3eec8c))(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3eec8c))" ( (pointer_expression "**(code **)(pcVar26 + 0x3eec8c)" * (pointer_expression "*(code **)(pcVar26 + 0x3eec8c)" * (cast_expression "(code **)(pcVar26 + 0x3eec8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3eec8c)" ( (binary_expression "pcVar26 + 0x3eec8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3ea2d8) + 0x3888)" ( (binary_expression "*(int *)(pcVar26 + 0x3ea2d8) + 0x3888" (pointer_expression "*(int *)(pcVar26 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar26 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea2d8)" ( (binary_expression "pcVar26 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);" (call_expression "(**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23)" (parenthesized_expression "(**(code **)(pcVar25 + -0x7814))" ( (pointer_expression "**(code **)(pcVar25 + -0x7814)" * (pointer_expression "*(code **)(pcVar25 + -0x7814)" * (cast_expression "(code **)(pcVar25 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + -0x7814)" ( (binary_expression "pcVar25 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,(int)pOVar20[1].file_size_,uVar23)" ( identifier , (cast_expression "(int)pOVar20[1].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12);" (call_expression "get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12)" identifier (argument_list "(pOVar14,CONCAT44(pcVar25,in_stack_ffffff84),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(pcVar25,in_stack_ffffff84)" identifier (argument_list "(pcVar25,in_stack_ffffff84)" ( identifier , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c);" (call_expression "(**(code **)(pcVar26 + 0x3eaa8c))\n                (*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar26 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar26 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar26 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3eaa8c)" ( (binary_expression "pcVar26 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar26 + 0x3ea2d8) + 0x4584" (pointer_expression "*(int *)(pcVar26 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar26 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea2d8)" ( (binary_expression "pcVar26 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3eaaac) + -0x3a9c" (pointer_expression "*(int *)(pcVar26 + 0x3eaaac)" * (cast_expression "(int *)(pcVar26 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3eaaac)" ( (binary_expression "pcVar26 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x3eaa8c))\n              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350);" (call_expression "(**(code **)(pcVar26 + 0x3eaa8c))\n              (*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar26 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar26 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar26 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3eaa8c)" ( (binary_expression "pcVar26 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3eaaac) + -0x3350)" ( (binary_expression "*(int *)(pcVar26 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar26 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea2d8)" ( (binary_expression "pcVar26 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3eaaac) + -0x3350" (pointer_expression "*(int *)(pcVar26 + 0x3eaaac)" * (cast_expression "(int *)(pcVar26 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3eaaac)" ( (binary_expression "pcVar26 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x3eaa8c);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x3eaa8c)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar26 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3eaa8c)" ( (binary_expression "pcVar26 + 0x3eaa8c" identifier + number_literal) ))))) ;) (expression_statement "pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574);" (assignment_expression "pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x3ea2d8) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar26 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea2d8)" ( (binary_expression "pcVar26 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c);" (call_expression "(*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(pOVar20,0xe3,*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3eaaac) + -0x3a3c" (pointer_expression "*(int *)(pcVar26 + 0x3eaaac)" * (cast_expression "(int *)(pcVar26 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3eaaac)" ( (binary_expression "pcVar26 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea8b8))\n              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea8b8))\n              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].name_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].name_" identifier = (cast_expression "(Output_file *)pOVar20[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);\n    }" { (if_statement "if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }\n      }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" identifier = (binary_expression "*(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (binary_expression "(int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" ( (binary_expression "uVar23 < *(uint *)&pOVar20->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);" (assignment_expression "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (binary_expression "(int)*(char **)(sVar17 + 8) < (int)pcVar13" (cast_expression "(int)*(char **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(char **)(sVar17 + 8) != pcVar13" (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar23 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar23 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          uVar7 = *(undefined4 *)&pOVar20[2].file_size_;\n          puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          pcVar13 = pOVar20[2].name_;\n          puVar9[1] = (int)pOVar20[2].file_size_;\n          *puVar9 = uVar7;\n          puVar6 = pOVar20[2].base_;\n          iVar5 = *(int *)(pcVar13 + 0x18);\n          puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;\n          puVar9[1] = puVar6;\n          pcVar13 = pOVar20[3].name_;\n          puVar9[3] = pOVar20[3].o_;\n          puVar9[2] = pcVar13;\n          uVar7 = *(undefined4 *)&pOVar20[3].file_size_;\n          puVar9[4] = (int)pOVar20[3].file_size_;\n          puVar9[3] = uVar7;\n          puVar6 = pOVar20[3].base_;\n          puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;\n          puVar9[4] = puVar6;\n          if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }\n          puVar9[6] = 0;\n          puVar9[5] = 0;\n          return;\n        }" { (expression_statement "uVar7 = *(undefined4 *)&pOVar20[2].file_size_;" (assignment_expression "uVar7 = *(undefined4 *)&pOVar20[2].file_size_" identifier = (pointer_expression "*(undefined4 *)&pOVar20[2].file_size_" * (cast_expression "(undefined4 *)&pOVar20[2].file_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[2].file_size_" & (field_expression "pOVar20[2].file_size_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);" (assignment_expression "puVar9 = (undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" identifier = (cast_expression "(undefined4 *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (binary_expression "*(int *)(sVar17 + 0x10) + pOVar20[1].o_" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "pcVar13 = pOVar20[2].name_;" (assignment_expression "pcVar13 = pOVar20[2].name_" identifier = (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[1] = (int)pOVar20[2].file_size_;" (assignment_expression "puVar9[1] = (int)pOVar20[2].file_size_" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)pOVar20[2].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[2].file_size_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "*puVar9 = uVar7;" (assignment_expression "*puVar9 = uVar7" (pointer_expression "*puVar9" * identifier) = identifier) ;) (expression_statement "puVar6 = pOVar20[2].base_;" (assignment_expression "puVar6 = pOVar20[2].base_" identifier = (field_expression "pOVar20[2].base_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar5 = *(int *)(pcVar13 + 0x18);" (assignment_expression "iVar5 = *(int *)(pcVar13 + 0x18)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x18)" * (cast_expression "(int *)(pcVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x18)" ( (binary_expression "pcVar13 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_;" (assignment_expression "puVar9[2] = *(undefined4 *)&pOVar20[2].map_is_anonymous_" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)&pOVar20[2].map_is_anonymous_" * (cast_expression "(undefined4 *)&pOVar20[2].map_is_anonymous_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[2].map_is_anonymous_" & (field_expression "pOVar20[2].map_is_anonymous_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[1] = puVar6;" (assignment_expression "puVar9[1] = puVar6" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar13 = pOVar20[3].name_;" (assignment_expression "pcVar13 = pOVar20[3].name_" identifier = (field_expression "pOVar20[3].name_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[3] = pOVar20[3].o_;" (assignment_expression "puVar9[3] = pOVar20[3].o_" (subscript_expression "puVar9[3]" identifier [ number_literal ]) = (field_expression "pOVar20[3].o_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[2] = pcVar13;" (assignment_expression "puVar9[2] = pcVar13" (subscript_expression "puVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = *(undefined4 *)&pOVar20[3].file_size_;" (assignment_expression "uVar7 = *(undefined4 *)&pOVar20[3].file_size_" identifier = (pointer_expression "*(undefined4 *)&pOVar20[3].file_size_" * (cast_expression "(undefined4 *)&pOVar20[3].file_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[3].file_size_" & (field_expression "pOVar20[3].file_size_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[4] = (int)pOVar20[3].file_size_;" (assignment_expression "puVar9[4] = (int)pOVar20[3].file_size_" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = (cast_expression "(int)pOVar20[3].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[3].file_size_" (subscript_expression "pOVar20[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 "puVar6 = pOVar20[3].base_;" (assignment_expression "puVar6 = pOVar20[3].base_" identifier = (field_expression "pOVar20[3].base_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_;" (assignment_expression "puVar9[5] = *(undefined4 *)&pOVar20[3].map_is_anonymous_" (subscript_expression "puVar9[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)&pOVar20[3].map_is_anonymous_" * (cast_expression "(undefined4 *)&pOVar20[3].map_is_anonymous_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[3].map_is_anonymous_" & (field_expression "pOVar20[3].map_is_anonymous_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar9[4] = puVar6;" (assignment_expression "puVar9[4] = puVar6" (subscript_expression "puVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar5 != 0) {\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(iVar5 + 0x30);\n            puVar9[6] = *(undefined4 *)(iVar5 + 0x34);\n            puVar9[5] = uVar7;\n            return;\n          }" { (expression_statement "uVar7 = *(undefined4 *)(iVar5 + 0x30);" (assignment_expression "uVar7 = *(undefined4 *)(iVar5 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 0x30)" * (cast_expression "(undefined4 *)(iVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar9[6] = *(undefined4 *)(iVar5 + 0x34);" (assignment_expression "puVar9[6] = *(undefined4 *)(iVar5 + 0x34)" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar5 + 0x34)" * (cast_expression "(undefined4 *)(iVar5 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 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 ;) })) (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 ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12);" (call_expression "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12)" identifier (argument_list "(pOVar20,CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(pcVar25 + 0x3f20c8,in_stack_ffffff64)" identifier (argument_list "(pcVar25 + 0x3f20c8,in_stack_ffffff64)" ( (binary_expression "pcVar25 + 0x3f20c8" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar25 + 0x3ea8b8))\n              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350);" (call_expression "(**(code **)(pcVar25 + 0x3ea8b8))\n              (*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar25 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar25 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar25 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar25 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea8b8)" ( (binary_expression "pcVar25 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea8d8) + -0x3350)" ( (binary_expression "*(int *)(pcVar25 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3ea104)" * (cast_expression "(int *)(pcVar25 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea104)" ( (binary_expression "pcVar25 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea8d8) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar25 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea8d8)" ( (binary_expression "pcVar25 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3ea8b8);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3ea8b8)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar25 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea8b8)" ( (binary_expression "pcVar25 + 0x3ea8b8" identifier + number_literal) ))))) ;) (expression_statement "pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea104) + 0x3574);" (assignment_expression "pOVar20 = (Output_file *)(*(int *)(pcVar25 + 0x3ea104) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar25 + 0x3ea104) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3ea104) + 0x3574)" ( (binary_expression "*(int *)(pcVar25 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3ea104)" * (cast_expression "(int *)(pcVar25 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea104)" ( (binary_expression "pcVar25 + 0x3ea104" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c);" (call_expression "(*pcVar26)(pOVar20,0xe3,*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pOVar20,0xe3,*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea8d8) + -0x3a3c" (pointer_expression "*(int *)(pcVar25 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar25 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea8d8)" ( (binary_expression "pcVar25 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar25 = pcVar26 + 0x3f1f74;" (assignment_expression "pcVar25 = pcVar26 + 0x3f1f74" identifier = (binary_expression "pcVar26 + 0x3f1f74" identifier + number_literal)) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3ea764))\n              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].o_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);\n    }\n    (**(code **)(pcVar26 + 0x3ea764))\n              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].o_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].o_" identifier = (cast_expression "(Output_file *)pOVar20[1].o_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar23 = *(uint *)&pOVar20->map_is_anonymous_;\n      if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }\n      (**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);\n    }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_" identifier = (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) ;) (if_statement "if (pOVar20->base_ == (uchar *)0x0) {\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }" if (parenthesized_expression "(pOVar20->base_ == (uchar *)0x0)" ( (binary_expression "pOVar20->base_ == (uchar *)0x0" (field_expression "pOVar20->base_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar11 = (int)&pOVar12->name_ + uVar23;\n        pOVar14 = pOVar20;\n        if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }\n        gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);\n      }" { (expression_statement "uVar11 = (int)&pOVar12->name_ + uVar23;" (assignment_expression "uVar11 = (int)&pOVar12->name_ + uVar23" identifier = (binary_expression "(int)&pOVar12->name_ + uVar23" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "pOVar14 = pOVar20;" (assignment_expression "pOVar14 = pOVar20" identifier = identifier) ;) (if_statement "if (-1 < (int)pOVar20[1].name_) {\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar20[1].name_)" ( (binary_expression "-1 < (int)pOVar20[1].name_" number_literal < (cast_expression "(int)pOVar20[1].name_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));\n          if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }\n        }" { (expression_statement "pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23));" (assignment_expression "pOVar14 = (Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23))" identifier = (cast_expression "(Output_file *)(pOVar20[1].name_ + (uVar11 < uVar23))" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar20[1].name_ + (uVar11 < uVar23))" ( (binary_expression "pOVar20[1].name_ + (uVar11 < uVar23)" (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier) + (parenthesized_expression "(uVar11 < uVar23)" ( (binary_expression "uVar11 < uVar23" identifier < identifier) ))) )))) ;) (if_statement "if (((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))) {\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }" if (parenthesized_expression "(((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)) &&\n             ((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "((int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8))" ( (binary_expression "(int)pOVar14 <= (int)*(Output_file **)(sVar17 + 8)" (cast_expression "(int)pOVar14" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(Output_file **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))))) )) && (parenthesized_expression "((*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(Output_file **)(sVar17 + 8) != pOVar14 || (uVar11 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(Output_file **)(sVar17 + 8) != pOVar14" (pointer_expression "*(Output_file **)(sVar17 + 8)" * (cast_expression "(Output_file **)(sVar17 + 8)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar11 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar11 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));\n            pcVar18 = pcVar13 + uVar23;\n            if (pcVar18 < pcVar13 + 8) {\n              return;\n            }\n            uVar23 = (uint)(byte)pcVar13[1];\n            cVar2 = *pcVar13;\n            if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }\n            uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);\n                    /* WARNING: Could not recover jumptable at 0x000d7434. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);\n            return;\n          }" { (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ + *(int *)(sVar17 + 0x10))" ( (binary_expression "(int)&pOVar12->name_ + *(int *)(sVar17 + 0x10)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar18 = pcVar13 + uVar23;" (assignment_expression "pcVar18 = pcVar13 + uVar23" identifier = (binary_expression "pcVar13 + uVar23" identifier + identifier)) ;) (if_statement "if (pcVar18 < pcVar13 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar18 < pcVar13 + 8)" ( (binary_expression "pcVar18 < pcVar13 + 8" identifier < (binary_expression "pcVar13 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = (uint)(byte)pcVar13[1];" (assignment_expression "uVar23 = (uint)(byte)pcVar13[1]" identifier = (cast_expression "(uint)(byte)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (if_statement "if (7 < uVar23) {\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }" if (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) (compound_statement "{\n              oVar4 = pOVar20[10].file_size_;\n              do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);\n            }" { (expression_statement "oVar4 = pOVar20[10].file_size_;" (assignment_expression "oVar4 = pOVar20[10].file_size_" identifier = (field_expression "pOVar20[10].file_size_" (subscript_expression "pOVar20[10]" identifier [ number_literal ]) . field_identifier)) ;) (do_statement "do {\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              } while (7 < uVar23);" do (compound_statement "{\n                if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }\n                pcVar13 = pcVar13 + uVar23;\n                uVar23 = (uint)(byte)pcVar13[1];\n                cVar2 = *pcVar13;\n              }" { (if_statement "if (cVar2 == '\x01') {\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(cVar2 == '\x01')" ( (binary_expression "cVar2 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar5 = *(int *)((int)oVar4 + 0x18);\n                  if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar5 = *(int *)((int)oVar4 + 0x18);" (assignment_expression "iVar5 = *(int *)((int)oVar4 + 0x18)" identifier = (pointer_expression "*(int *)((int)oVar4 + 0x18)" * (cast_expression "(int *)((int)oVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)oVar4 + 0x18)" ( (binary_expression "(int)oVar4 + 0x18" (cast_expression "(int)oVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }\n                  else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar13[0x20] = '\0';\n                    pcVar13[0x21] = '\0';\n                    pcVar13[0x22] = '\0';\n                    pcVar13[0x23] = '\0';\n                    pcVar13[0x24] = '\0';\n                    pcVar13[0x25] = '\0';\n                    pcVar13[0x26] = '\0';\n                    pcVar13[0x27] = '\0';\n                  }" { (expression_statement "pcVar13[0x20] = '\0';" (assignment_expression "pcVar13[0x20] = '\0'" (subscript_expression "pcVar13[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x21] = '\0';" (assignment_expression "pcVar13[0x21] = '\0'" (subscript_expression "pcVar13[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x22] = '\0';" (assignment_expression "pcVar13[0x22] = '\0'" (subscript_expression "pcVar13[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x23] = '\0';" (assignment_expression "pcVar13[0x23] = '\0'" (subscript_expression "pcVar13[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x24] = '\0';" (assignment_expression "pcVar13[0x24] = '\0'" (subscript_expression "pcVar13[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x25] = '\0';" (assignment_expression "pcVar13[0x25] = '\0'" (subscript_expression "pcVar13[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x26] = '\0';" (assignment_expression "pcVar13[0x26] = '\0'" (subscript_expression "pcVar13[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x27] = '\0';" (assignment_expression "pcVar13[0x27] = '\0'" (subscript_expression "pcVar13[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar11 = *(uint *)(iVar5 + 0x30);\n                    uVar15 = *(uint *)(iVar5 + 0x34);\n                    *(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n                    *(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar11 = *(uint *)(iVar5 + 0x30);" (assignment_expression "uVar11 = *(uint *)(iVar5 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x30)" * (cast_expression "(uint *)(iVar5 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(uint *)(iVar5 + 0x34);" (assignment_expression "uVar15 = *(uint *)(iVar5 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x34)" * (cast_expression "(uint *)(iVar5 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar13 + 0x24) =\n                         (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar13 + 0x24)" * (cast_expression "(uint *)(pcVar13 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x24)" ( (binary_expression "pcVar13 + 0x24" identifier + number_literal) )))) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar13 + 0x20) =\n                         (((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar13 + 0x20)" * (cast_expression "(uint *)(pcVar13 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x20)" ( (binary_expression "pcVar13 + 0x20" identifier + number_literal) )))) = (binary_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10)" ( (binary_expression "(uVar15 >> 0x10) << 0x18 | (uVar15 >> 0x18) << 0x10" (binary_expression "(uVar15 >> 0x10) << 0x18" (parenthesized_expression "(uVar15 >> 0x10)" ( (binary_expression "uVar15 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar15 >> 0x18) << 0x10" (parenthesized_expression "(uVar15 >> 0x18)" ( (binary_expression "uVar15 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff)" ( (binary_expression "(uVar15 & 0xff) << 8 | uVar15 >> 8 & 0xff" (binary_expression "(uVar15 & 0xff) << 8" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar15 >> 8 & 0xff" (binary_expression "uVar15 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (pcVar18 < pcVar13 + uVar23 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar18 < pcVar13 + uVar23 + 8)" ( (binary_expression "pcVar18 < pcVar13 + uVar23 + 8" identifier < (binary_expression "pcVar13 + uVar23 + 8" (binary_expression "pcVar13 + uVar23" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = pcVar13 + uVar23;" (assignment_expression "pcVar13 = pcVar13 + uVar23" identifier = (binary_expression "pcVar13 + uVar23" identifier + identifier)) ;) (expression_statement "uVar23 = (uint)(byte)pcVar13[1];" (assignment_expression "uVar23 = (uint)(byte)pcVar13[1]" identifier = (cast_expression "(uint)(byte)pcVar13[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar13[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar23)" ( (binary_expression "7 < uVar23" number_literal < identifier) )) ;) })) (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar26 + 0x3ee964))(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3ee964))" ( (pointer_expression "**(code **)(pcVar26 + 0x3ee964)" * (pointer_expression "*(code **)(pcVar26 + 0x3ee964)" * (cast_expression "(code **)(pcVar26 + 0x3ee964)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ee964)" ( (binary_expression "pcVar26 + 0x3ee964" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3e9fb0) + 0x3888)" ( (binary_expression "*(int *)(pcVar26 + 0x3e9fb0) + 0x3888" (pointer_expression "*(int *)(pcVar26 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar26 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9fb0)" ( (binary_expression "pcVar26 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23);" (call_expression "(**(code **)(pcVar25 + -0x7814))(uVar7,(int)pOVar20[1].file_size_,uVar23)" (parenthesized_expression "(**(code **)(pcVar25 + -0x7814))" ( (pointer_expression "**(code **)(pcVar25 + -0x7814)" * (pointer_expression "*(code **)(pcVar25 + -0x7814)" * (cast_expression "(code **)(pcVar25 + -0x7814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + -0x7814)" ( (binary_expression "pcVar25 + -0x7814" identifier + number_literal) ))))) )) (argument_list "(uVar7,(int)pOVar20[1].file_size_,uVar23)" ( identifier , (cast_expression "(int)pOVar20[1].file_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12);" (call_expression "get_output_view\n                  (pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12)" identifier (argument_list "(pOVar14,CONCAT44(pcVar25,in_stack_ffffff3c),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(pcVar25,in_stack_ffffff3c)" identifier (argument_list "(pcVar25,in_stack_ffffff3c)" ( identifier , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c);" (call_expression "(**(code **)(pcVar26 + 0x3ea764))\n                (*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3ea764))" ( (pointer_expression "**(code **)(pcVar26 + 0x3ea764)" * (pointer_expression "*(code **)(pcVar26 + 0x3ea764)" * (cast_expression "(code **)(pcVar26 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea764)" ( (binary_expression "pcVar26 + 0x3ea764" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3e9fb0) + 0x4584,0xc0,*(int *)(pcVar26 + 0x3ea784) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar26 + 0x3e9fb0) + 0x4584" (pointer_expression "*(int *)(pcVar26 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar26 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9fb0)" ( (binary_expression "pcVar26 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea784) + -0x3a9c" (pointer_expression "*(int *)(pcVar26 + 0x3ea784)" * (cast_expression "(int *)(pcVar26 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea784)" ( (binary_expression "pcVar26 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x3ea764))\n              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350);" (call_expression "(**(code **)(pcVar26 + 0x3ea764))\n              (*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3ea764))" ( (pointer_expression "**(code **)(pcVar26 + 0x3ea764)" * (pointer_expression "*(code **)(pcVar26 + 0x3ea764)" * (cast_expression "(code **)(pcVar26 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea764)" ( (binary_expression "pcVar26 + 0x3ea764" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574,0xcf,*(int *)(pcVar26 + 0x3ea784) + -0x3350)" ( (binary_expression "*(int *)(pcVar26 + 0x3e9fb0) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar26 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9fb0)" ( (binary_expression "pcVar26 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea784) + -0x3350" (pointer_expression "*(int *)(pcVar26 + 0x3ea784)" * (cast_expression "(int *)(pcVar26 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea784)" ( (binary_expression "pcVar26 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "sVar17 = 0xe3;" (assignment_expression "sVar17 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x3ea764);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x3ea764)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x3ea764)" * (cast_expression "(code **)(pcVar26 + 0x3ea764)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea764)" ( (binary_expression "pcVar26 + 0x3ea764" identifier + number_literal) ))))) ;) (expression_statement "pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574);" (assignment_expression "pOVar20 = (Output_file *)(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574)" identifier = (cast_expression "(Output_file *)(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x3e9fb0) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x3e9fb0) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9fb0)" * (cast_expression "(int *)(pcVar26 + 0x3e9fb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9fb0)" ( (binary_expression "pcVar26 + 0x3e9fb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3ea784) + -0x3a3c);" (call_expression "(*pcVar25)(pOVar20,0xe3,*(int *)(pcVar26 + 0x3ea784) + -0x3a3c)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(pOVar20,0xe3,*(int *)(pcVar26 + 0x3ea784) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea784) + -0x3a3c" (pointer_expression "*(int *)(pcVar26 + 0x3ea784)" * (cast_expression "(int *)(pcVar26 + 0x3ea784)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea784)" ( (binary_expression "pcVar26 + 0x3ea784" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 2 < 0) {\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea580))\n              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 2 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 2 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 2" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n    pOVar12 = (Output_file *)pOVar20[1].name_;\n    if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);\n    }\n    (**(code **)(pcVar25 + 0x3ea580))\n              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350);\n  }" { (expression_statement "pOVar12 = (Output_file *)pOVar20[1].name_;" (assignment_expression "pOVar12 = (Output_file *)pOVar20[1].name_" identifier = (cast_expression "(Output_file *)pOVar20[1].name_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar20[1].name_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (*(int *)&pOVar20[1].file_size_ << 1 < 0) {\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);\n    }" if (parenthesized_expression "(*(int *)&pOVar20[1].file_size_ << 1 < 0)" ( (binary_expression "*(int *)&pOVar20[1].file_size_ << 1 < 0" (binary_expression "*(int *)&pOVar20[1].file_size_ << 1" (pointer_expression "*(int *)&pOVar20[1].file_size_" * (cast_expression "(int *)&pOVar20[1].file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[1].file_size_" & (field_expression "pOVar20[1].file_size_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }\n      gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);\n    }" { (if_statement "if (-1 < (int)pOVar12) {\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;\n        pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));\n        pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);\n        if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }\n      }" { (expression_statement "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_;" (assignment_expression "uVar23 = *(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" identifier = (binary_expression "*(uint *)&pOVar20->map_is_anonymous_ + pOVar20[1].o_" (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier)))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_));" (assignment_expression "pcVar13 = (char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" identifier = (cast_expression "(char *)((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_))" ( (binary_expression "(int)&pOVar12->name_ +\n                          (uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < *(uint *)&pOVar20->map_is_anonymous_)" ( (binary_expression "uVar23 < *(uint *)&pOVar20->map_is_anonymous_" identifier < (pointer_expression "*(uint *)&pOVar20->map_is_anonymous_" * (cast_expression "(uint *)&pOVar20->map_is_anonymous_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20->map_is_anonymous_" & (field_expression "pOVar20->map_is_anonymous_" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13);" (assignment_expression "pOVar12 = (Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" identifier = (cast_expression "(Output_file *)(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)*(char **)(sVar17 + 8) < (int)pcVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)*(char **)(sVar17 + 8) < (int)pcVar13)" ( (binary_expression "(int)*(char **)(sVar17 + 8) < (int)pcVar13" (cast_expression "(int)*(char **)(sVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) ))))) < (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))) {\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))))" ( (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n           ((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))))" ( (parenthesized_expression "(*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc)))" ( (binary_expression "*(char **)(sVar17 + 8) != pcVar13 || (uVar23 <= *(uint *)(sVar17 + 0xc))" (binary_expression "*(char **)(sVar17 + 8) != pcVar13" (pointer_expression "*(char **)(sVar17 + 8)" * (cast_expression "(char **)(sVar17 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar17 + 8)" ( (binary_expression "sVar17 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar23 <= *(uint *)(sVar17 + 0xc))" ( (binary_expression "uVar23 <= *(uint *)(sVar17 + 0xc)" identifier <= (pointer_expression "*(uint *)(sVar17 + 0xc)" * (cast_expression "(uint *)(sVar17 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          uVar11 = *(uint *)&pOVar20[2].file_size_;\n          uVar23 = (uint)pOVar20[2].file_size_;\n          piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);\n          iVar5 = *(int *)(pOVar20[2].name_ + 0x18);\n          piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          *piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          puVar6 = pOVar20[2].base_;\n          uVar23._0_1_ = pOVar20[2].map_is_anonymous_;\n          uVar23._1_1_ = pOVar20[2].map_is_allocated_;\n          uVar23._2_1_ = pOVar20[2].is_temporary_;\n          uVar23._3_1_ = pOVar20[2].field_0x17;\n          piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          pcVar13 = pOVar20[3].name_;\n          uVar23 = pOVar20[3].o_;\n          piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;\n          piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11 = *(uint *)&pOVar20[3].file_size_;\n          uVar23 = (uint)pOVar20[3].file_size_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n          uVar11._0_1_ = pOVar20[3].map_is_anonymous_;\n          uVar11._1_1_ = pOVar20[3].map_is_allocated_;\n          uVar11._2_1_ = pOVar20[3].is_temporary_;\n          uVar11._3_1_ = pOVar20[3].field_0x17;\n          puVar6 = pOVar20[3].base_;\n          piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n          piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;\n          if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }\n          piVar10[5] = 0;\n          piVar10[6] = 0;\n          return;\n        }" { (expression_statement "uVar11 = *(uint *)&pOVar20[2].file_size_;" (assignment_expression "uVar11 = *(uint *)&pOVar20[2].file_size_" identifier = (pointer_expression "*(uint *)&pOVar20[2].file_size_" * (cast_expression "(uint *)&pOVar20[2].file_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[2].file_size_" & (field_expression "pOVar20[2].file_size_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar23 = (uint)pOVar20[2].file_size_;" (assignment_expression "uVar23 = (uint)pOVar20[2].file_size_" identifier = (cast_expression "(uint)pOVar20[2].file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar20[2].file_size_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_);" (assignment_expression "piVar10 = (int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" identifier = (cast_expression "(int *)(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(sVar17 + 0x10) + pOVar20[1].o_)" ( (binary_expression "*(int *)(sVar17 + 0x10) + pOVar20[1].o_" (pointer_expression "*(int *)(sVar17 + 0x10)" * (cast_expression "(int *)(sVar17 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x10)" ( (binary_expression "sVar17 + 0x10" identifier + number_literal) )))) + (field_expression "pOVar20[1].o_" (subscript_expression "pOVar20[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "iVar5 = *(int *)(pOVar20[2].name_ + 0x18);" (assignment_expression "iVar5 = *(int *)(pOVar20[2].name_ + 0x18)" identifier = (pointer_expression "*(int *)(pOVar20[2].name_ + 0x18)" * (cast_expression "(int *)(pOVar20[2].name_ + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pOVar20[2].name_ + 0x18)" ( (binary_expression "pOVar20[2].name_ + 0x18" (field_expression "pOVar20[2].name_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[1] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "*piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar10 = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar10" * identifier) = (binary_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar6 = pOVar20[2].base_;" (assignment_expression "puVar6 = pOVar20[2].base_" identifier = (field_expression "pOVar20[2].base_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23._0_1_ = pOVar20[2].map_is_anonymous_;" (assignment_expression "uVar23._0_1_ = pOVar20[2].map_is_anonymous_" (field_expression "uVar23._0_1_" identifier . field_identifier) = (field_expression "pOVar20[2].map_is_anonymous_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23._1_1_ = pOVar20[2].map_is_allocated_;" (assignment_expression "uVar23._1_1_ = pOVar20[2].map_is_allocated_" (field_expression "uVar23._1_1_" identifier . field_identifier) = (field_expression "pOVar20[2].map_is_allocated_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23._2_1_ = pOVar20[2].is_temporary_;" (assignment_expression "uVar23._2_1_ = pOVar20[2].is_temporary_" (field_expression "uVar23._2_1_" identifier . field_identifier) = (field_expression "pOVar20[2].is_temporary_" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23._3_1_ = pOVar20[2].field_0x17;" (assignment_expression "uVar23._3_1_ = pOVar20[2].field_0x17" (field_expression "uVar23._3_1_" identifier . field_identifier) = (field_expression "pOVar20[2].field_0x17" (subscript_expression "pOVar20[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[2] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10)" ( (binary_expression "((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10" (binary_expression "((uint)puVar6 >> 0x10) << 0x18" (parenthesized_expression "((uint)puVar6 >> 0x10)" ( (binary_expression "(uint)puVar6 >> 0x10" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)puVar6 >> 0x18) << 0x10" (parenthesized_expression "((uint)puVar6 >> 0x18)" ( (binary_expression "(uint)puVar6 >> 0x18" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff)" ( (binary_expression "((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff" (binary_expression "((uint)puVar6 & 0xff) << 8" (parenthesized_expression "((uint)puVar6 & 0xff)" ( (binary_expression "(uint)puVar6 & 0xff" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)puVar6 >> 8 & 0xff" (binary_expression "(uint)puVar6 >> 8" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[1] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "pcVar13 = pOVar20[3].name_;" (assignment_expression "pcVar13 = pOVar20[3].name_" identifier = (field_expression "pOVar20[3].name_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar23 = pOVar20[3].o_;" (assignment_expression "uVar23 = pOVar20[3].o_" identifier = (field_expression "pOVar20[3].o_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[3] = ((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = (binary_expression "((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)\n                       + (((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10)" ( (binary_expression "((uint)pcVar13 >> 0x10) << 0x18 | ((uint)pcVar13 >> 0x18) << 0x10" (binary_expression "((uint)pcVar13 >> 0x10) << 0x18" (parenthesized_expression "((uint)pcVar13 >> 0x10)" ( (binary_expression "(uint)pcVar13 >> 0x10" (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)pcVar13 >> 0x18) << 0x10" (parenthesized_expression "((uint)pcVar13 >> 0x18)" ( (binary_expression "(uint)pcVar13 >> 0x18" (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff)" ( (binary_expression "((uint)pcVar13 & 0xff) << 8 | (uint)pcVar13 >> 8 & 0xff" (binary_expression "((uint)pcVar13 & 0xff) << 8" (parenthesized_expression "((uint)pcVar13 & 0xff)" ( (binary_expression "(uint)pcVar13 & 0xff" (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)pcVar13 >> 8 & 0xff" (binary_expression "(uint)pcVar13 >> 8" (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[2] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar11 = *(uint *)&pOVar20[3].file_size_;" (assignment_expression "uVar11 = *(uint *)&pOVar20[3].file_size_" identifier = (pointer_expression "*(uint *)&pOVar20[3].file_size_" * (cast_expression "(uint *)&pOVar20[3].file_size_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar20[3].file_size_" & (field_expression "pOVar20[3].file_size_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar23 = (uint)pOVar20[3].file_size_;" (assignment_expression "uVar23 = (uint)pOVar20[3].file_size_" identifier = (cast_expression "(uint)pOVar20[3].file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar20[3].file_size_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[3] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = (binary_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar11._0_1_ = pOVar20[3].map_is_anonymous_;" (assignment_expression "uVar11._0_1_ = pOVar20[3].map_is_anonymous_" (field_expression "uVar11._0_1_" identifier . field_identifier) = (field_expression "pOVar20[3].map_is_anonymous_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar11._1_1_ = pOVar20[3].map_is_allocated_;" (assignment_expression "uVar11._1_1_ = pOVar20[3].map_is_allocated_" (field_expression "uVar11._1_1_" identifier . field_identifier) = (field_expression "pOVar20[3].map_is_allocated_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar11._2_1_ = pOVar20[3].is_temporary_;" (assignment_expression "uVar11._2_1_ = pOVar20[3].is_temporary_" (field_expression "uVar11._2_1_" identifier . field_identifier) = (field_expression "pOVar20[3].is_temporary_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar11._3_1_ = pOVar20[3].field_0x17;" (assignment_expression "uVar11._3_1_ = pOVar20[3].field_0x17" (field_expression "uVar11._3_1_" identifier . field_identifier) = (field_expression "pOVar20[3].field_0x17" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar6 = pOVar20[3].base_;" (assignment_expression "puVar6 = pOVar20[3].base_" identifier = (field_expression "pOVar20[3].base_" (subscript_expression "pOVar20[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[4] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                       ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[5] = ((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = (binary_expression "((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10) +\n                       (((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10)" ( (binary_expression "((uint)puVar6 >> 0x10) << 0x18 | ((uint)puVar6 >> 0x18) << 0x10" (binary_expression "((uint)puVar6 >> 0x10) << 0x18" (parenthesized_expression "((uint)puVar6 >> 0x10)" ( (binary_expression "(uint)puVar6 >> 0x10" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)puVar6 >> 0x18) << 0x10" (parenthesized_expression "((uint)puVar6 >> 0x18)" ( (binary_expression "(uint)puVar6 >> 0x18" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff)" ( (binary_expression "((uint)puVar6 & 0xff) << 8 | (uint)puVar6 >> 8 & 0xff" (binary_expression "((uint)puVar6 & 0xff) << 8" (parenthesized_expression "((uint)puVar6 & 0xff)" ( (binary_expression "(uint)puVar6 & 0xff" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)puVar6 >> 8 & 0xff" (binary_expression "(uint)puVar6 >> 8" (cast_expression "(uint)puVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (iVar5 != 0) {\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar23 = *(uint *)(iVar5 + 0x30);\n            uVar11 = *(uint *)(iVar5 + 0x34);\n            piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;\n            piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;\n            return;\n          }" { (expression_statement "uVar23 = *(uint *)(iVar5 + 0x30);" (assignment_expression "uVar23 = *(uint *)(iVar5 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x30)" * (cast_expression "(uint *)(iVar5 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar5 + 0x34);" (assignment_expression "uVar11 = *(uint *)(iVar5 + 0x34)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x34)" * (cast_expression "(uint *)(iVar5 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[6] = (((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = (binary_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10)" ( (binary_expression "(uVar23 >> 0x10) << 0x18 | (uVar23 >> 0x18) << 0x10" (binary_expression "(uVar23 >> 0x10) << 0x18" (parenthesized_expression "(uVar23 >> 0x10)" ( (binary_expression "uVar23 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar23 >> 0x18) << 0x10" (parenthesized_expression "(uVar23 >> 0x18)" ( (binary_expression "uVar23 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff)" ( (binary_expression "(uVar23 & 0xff) << 8 | uVar23 >> 8 & 0xff" (binary_expression "(uVar23 & 0xff) << 8" (parenthesized_expression "(uVar23 & 0xff)" ( (binary_expression "uVar23 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar23 >> 8 & 0xff" (binary_expression "uVar23 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar10[5] = (((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = (binary_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10)" ( (binary_expression "(uVar11 >> 0x10) << 0x18 | (uVar11 >> 0x18) << 0x10" (binary_expression "(uVar11 >> 0x10) << 0x18" (parenthesized_expression "(uVar11 >> 0x10)" ( (binary_expression "uVar11 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar11 >> 0x18) << 0x10" (parenthesized_expression "(uVar11 >> 0x18)" ( (binary_expression "uVar11 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff)" ( (binary_expression "(uVar11 & 0xff) << 8 | uVar11 >> 8 & 0xff" (binary_expression "(uVar11 & 0xff) << 8" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar11 >> 8 & 0xff" (binary_expression "uVar11 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) (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 ;) })) })) (labeled_statement "gold::Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12);" (call_expression "get_output_view\n                (pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12)" identifier (argument_list "(pOVar20,CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c),sVar17,pOVar12)" ( identifier , (call_expression "CONCAT44(pcVar25 + 0x3f1d90,in_stack_ffffff1c)" identifier (argument_list "(pcVar25 + 0x3f1d90,in_stack_ffffff1c)" ( (binary_expression "pcVar25 + 0x3f1d90" identifier + number_literal) , identifier ))) , identifier , identifier ))) ;))) })) (expression_statement "(**(code **)(pcVar25 + 0x3ea580))\n              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350);" (call_expression "(**(code **)(pcVar25 + 0x3ea580))\n              (*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar25 + 0x3ea580))" ( (pointer_expression "**(code **)(pcVar25 + 0x3ea580)" * (pointer_expression "*(code **)(pcVar25 + 0x3ea580)" * (cast_expression "(code **)(pcVar25 + 0x3ea580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea580)" ( (binary_expression "pcVar25 + 0x3ea580" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea5a0) + -0x3350)" ( (binary_expression "*(int *)(pcVar25 + 0x3e9dcc) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3e9dcc)" * (cast_expression "(int *)(pcVar25 + 0x3e9dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3e9dcc)" ( (binary_expression "pcVar25 + 0x3e9dcc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea5a0) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar25 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea5a0)" ( (binary_expression "pcVar25 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3ea580);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3ea580)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3ea580)" * (cast_expression "(code **)(pcVar25 + 0x3ea580)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea580)" ( (binary_expression "pcVar25 + 0x3ea580" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x3e9dcc) + 0x3574,0xe3,*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c)" ( (binary_expression "*(int *)(pcVar25 + 0x3e9dcc) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3e9dcc)" * (cast_expression "(int *)(pcVar25 + 0x3e9dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3e9dcc)" ( (binary_expression "pcVar25 + 0x3e9dcc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea5a0) + -0x3a3c" (pointer_expression "*(int *)(pcVar25 + 0x3ea5a0)" * (cast_expression "(int *)(pcVar25 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea5a0)" ( (binary_expression "pcVar25 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x3ea3cc);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x3ea3cc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x3ea3cc)" * (cast_expression "(code **)(pcVar26 + 0x3ea3cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea3cc)" ( (binary_expression "pcVar26 + 0x3ea3cc" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar26 + 0x3e9c18) + 0x3574;" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0x3e9c18) + 0x3574" identifier = (binary_expression "*(int *)(pcVar26 + 0x3e9c18) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9c18)" * (cast_expression "(int *)(pcVar26 + 0x3e9c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9c18)" ( (binary_expression "pcVar26 + 0x3e9c18" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar5,0xc5,*(int *)(pcVar26 + 0x3ea3ec) + -0x3478);" (call_expression "(*pcVar25)(iVar5,0xc5,*(int *)(pcVar26 + 0x3ea3ec) + -0x3478)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar5,0xc5,*(int *)(pcVar26 + 0x3ea3ec) + -0x3478)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea3ec) + -0x3478" (pointer_expression "*(int *)(pcVar26 + 0x3ea3ec)" * (cast_expression "(int *)(pcVar26 + 0x3ea3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea3ec)" ( (binary_expression "pcVar26 + 0x3ea3ec" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x14) == 0" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar5 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3ea398);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3ea398)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3ea398)" * (cast_expression "(code **)(pcVar25 + 0x3ea398)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea398)" ( (binary_expression "pcVar25 + 0x3ea398" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea3b8) + -0x3350);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea3b8) + -0x3350)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x3e9be4) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea3b8) + -0x3350)" ( (binary_expression "*(int *)(pcVar25 + 0x3e9be4) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3e9be4)" * (cast_expression "(int *)(pcVar25 + 0x3e9be4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3e9be4)" ( (binary_expression "pcVar25 + 0x3e9be4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea3b8) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3ea3b8)" * (cast_expression "(int *)(pcVar25 + 0x3ea3b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea3b8)" ( (binary_expression "pcVar25 + 0x3ea3b8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x3ea338);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x3ea338)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x3ea338)" * (cast_expression "(code **)(pcVar26 + 0x3ea338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea338)" ( (binary_expression "pcVar26 + 0x3ea338" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar26 + 0x3e9b84) + 0x3574;" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0x3e9b84) + 0x3574" identifier = (binary_expression "*(int *)(pcVar26 + 0x3e9b84) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9b84)" * (cast_expression "(int *)(pcVar26 + 0x3e9b84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9b84)" ( (binary_expression "pcVar26 + 0x3e9b84" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea358) + -0x3350);" (call_expression "(*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea358) + -0x3350)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea358) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea358) + -0x3350" (pointer_expression "*(int *)(pcVar26 + 0x3ea358)" * (cast_expression "(int *)(pcVar26 + 0x3ea358)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea358)" ( (binary_expression "pcVar26 + 0x3ea358" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x14) == 0" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar5 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3ea304);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3ea304)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3ea304)" * (cast_expression "(code **)(pcVar25 + 0x3ea304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea304)" ( (binary_expression "pcVar25 + 0x3ea304" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar25 + 0x3e9b50) + 0x3574;" (assignment_expression "iVar5 = *(int *)(pcVar25 + 0x3e9b50) + 0x3574" identifier = (binary_expression "*(int *)(pcVar25 + 0x3e9b50) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3e9b50)" * (cast_expression "(int *)(pcVar25 + 0x3e9b50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3e9b50)" ( (binary_expression "pcVar25 + 0x3e9b50" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar26)(iVar5,0xcf,*(int *)(pcVar25 + 0x3ea324) + -0x3350);" (call_expression "(*pcVar26)(iVar5,0xcf,*(int *)(pcVar25 + 0x3ea324) + -0x3350)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar5,0xcf,*(int *)(pcVar25 + 0x3ea324) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea324) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3ea324)" * (cast_expression "(int *)(pcVar25 + 0x3ea324)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea324)" ( (binary_expression "pcVar25 + 0x3ea324" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x14) == 0" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar5 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x3ea2a4);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x3ea2a4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x3ea2a4)" * (cast_expression "(code **)(pcVar26 + 0x3ea2a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea2a4)" ( (binary_expression "pcVar26 + 0x3ea2a4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(pcVar26 + 0x3e9af0) + 0x3574;" (assignment_expression "iVar5 = *(int *)(pcVar26 + 0x3e9af0) + 0x3574" identifier = (binary_expression "*(int *)(pcVar26 + 0x3e9af0) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9af0)" * (cast_expression "(int *)(pcVar26 + 0x3e9af0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9af0)" ( (binary_expression "pcVar26 + 0x3e9af0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea2c4) + -0x3350);" (call_expression "(*pcVar25)(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea2c4) + -0x3350)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar5,0xcf,*(int *)(pcVar26 + 0x3ea2c4) + -0x3350)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea2c4) + -0x3350" (pointer_expression "*(int *)(pcVar26 + 0x3ea2c4)" * (cast_expression "(int *)(pcVar26 + 0x3ea2c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea2c4)" ( (binary_expression "pcVar26 + 0x3ea2c4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar5 + 0x14) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x14) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x14) == 0" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1 < 0" (binary_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20) << 1" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar5 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x3ea244);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x3ea244)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3ea244)" * (cast_expression "(code **)(pcVar25 + 0x3ea244)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3ea244)" ( (binary_expression "pcVar25 + 0x3ea244" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea264) + -0x3350);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea264) + -0x3350)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x3e9a90) + 0x3574,0xcf,*(int *)(pcVar25 + 0x3ea264) + -0x3350)" ( (binary_expression "*(int *)(pcVar25 + 0x3e9a90) + 0x3574" (pointer_expression "*(int *)(pcVar25 + 0x3e9a90)" * (cast_expression "(int *)(pcVar25 + 0x3e9a90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3e9a90)" ( (binary_expression "pcVar25 + 0x3e9a90" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x3ea264) + -0x3350" (pointer_expression "*(int *)(pcVar25 + 0x3ea264)" * (cast_expression "(int *)(pcVar25 + 0x3ea264)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ea264)" ( (binary_expression "pcVar25 + 0x3ea264" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar26 + 0x3e9a30) + 0x3574);" (assignment_expression "this_00 = (Target_mips<64,_false> *)(*(int *)(pcVar26 + 0x3e9a30) + 0x3574)" identifier = (call_expression "(Target_mips<64,_false> *)(*(int *)(pcVar26 + 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 *)(pcVar26 + 0x3e9a30) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x3e9a30) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x3e9a30)" * (cast_expression "(int *)(pcVar26 + 0x3e9a30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3e9a30)" ( (binary_expression "pcVar26 + 0x3e9a30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar26 + 0x3ea204) + -0x39fc);" (call_expression "(**(code **)(pcVar26 + 0x3ea1e4))(this_00,0x218,*(int *)(pcVar26 + 0x3ea204) + -0x39fc)" (parenthesized_expression "(**(code **)(pcVar26 + 0x3ea1e4))" ( (pointer_expression "**(code **)(pcVar26 + 0x3ea1e4)" * (pointer_expression "*(code **)(pcVar26 + 0x3ea1e4)" * (cast_expression "(code **)(pcVar26 + 0x3ea1e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x3ea1e4)" ( (binary_expression "pcVar26 + 0x3ea1e4" identifier + number_literal) ))))) )) (argument_list "(this_00,0x218,*(int *)(pcVar26 + 0x3ea204) + -0x39fc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x3ea204) + -0x39fc" (pointer_expression "*(int *)(pcVar26 + 0x3ea204)" * (cast_expression "(int *)(pcVar26 + 0x3ea204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x3ea204)" ( (binary_expression "pcVar26 + 0x3ea204" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppVar19 = (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;" (field_expression "ppVar19 = (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" (field_expression "ppVar19 = (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" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "ppVar19 = (this_00->mips_mach_extensions_).\n            super__Vector_base<std::pair<unsigned_int" (assignment_expression "ppVar19 = (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) (ERROR ",_unsigned_int" , identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR ",_unsigned_int" , identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (*(char *)&ppVar19[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 *)&ppVar19[1].second == '\0')" ( (binary_expression "*(char *)&ppVar19[1].second == '\0'" (pointer_expression "*(char *)&ppVar19[1].second" * (cast_expression "(char *)&ppVar19[1].second" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ppVar19[1].second" & (field_expression "ppVar19[1].second" (subscript_expression "ppVar19[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 "iVar5 = 0x10;" (assignment_expression "iVar5 = 0x10" identifier = number_literal) ;) (if_statement "if ((int)(ppVar19[1].first << 6) < 0) {\n    if (*(char *)((int)&ppVar19[0x10].first + 2) != '\0') {\n      iVar5 = 0x14;\n    }\n  }\n  else {\n    iVar5 = 0x14;\n  }" if (parenthesized_expression "((int)(ppVar19[1].first << 6) < 0)" ( (binary_expression "(int)(ppVar19[1].first << 6) < 0" (cast_expression "(int)(ppVar19[1].first << 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppVar19[1].first << 6)" ( (binary_expression "ppVar19[1].first << 6" (field_expression "ppVar19[1].first" (subscript_expression "ppVar19[1]" identifier [ number_literal ]) . field_identifier) << number_literal) ))) < number_literal) )) (compound_statement "{\n    if (*(char *)((int)&ppVar19[0x10].first + 2) != '\0') {\n      iVar5 = 0x14;\n    }\n  }" { (if_statement "if (*(char *)((int)&ppVar19[0x10].first + 2) != '\0') {\n      iVar5 = 0x14;\n    }" if (parenthesized_expression "(*(char *)((int)&ppVar19[0x10].first + 2) != '\0')" ( (binary_expression "*(char *)((int)&ppVar19[0x10].first + 2) != '\0'" (pointer_expression "*(char *)((int)&ppVar19[0x10].first + 2)" * (cast_expression "(char *)((int)&ppVar19[0x10].first + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ppVar19[0x10].first + 2)" ( (binary_expression "(int)&ppVar19[0x10].first + 2" (cast_expression "(int)&ppVar19[0x10].first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ppVar19[0x10].first" & (field_expression "ppVar19[0x10].first" (subscript_expression "ppVar19[0x10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar5 = 0x14;\n    }" { (expression_statement "iVar5 = 0x14;" (assignment_expression "iVar5 = 0x14" identifier = number_literal) ;) })) }) (else_clause "else {\n    iVar5 = 0x14;\n  }" else (compound_statement "{\n    iVar5 = 0x14;\n  }" { (expression_statement "iVar5 = 0x14;" (assignment_expression "iVar5 = 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         (iVar5 * (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         (iVar5 * (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         (iVar5 * (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         (iVar5 * (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         (iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" ( (comma_expression "Mips_output_data_got<64,_false> *)\n         (iVar5 * (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         (iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" identifier > (pointer_expression "*)\n         (iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" * (ERROR ")" )) (parenthesized_expression "(iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_)" ( (comma_expression "iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9,_64,_false>.dynbss_" (binary_expression "iVar5 * (int)(this_00->copy_relocs_).super_Copy_relocs<9" (binary_expression "iVar5 * (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 (ERROR "Mips_output_data_mips_stubs<64,_false>::set_final_data_size\n            ((Mips_output_data_mips_stubs<64,_false> *)this_00);\n}" (binary_expression "Mips_output_data_mips_stubs<64" identifier < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier ( (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))) )) ; }))
(translation_unit "void FUN_000d6b0c(int param_1,int param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}\n\n" (function_definition "void FUN_000d6b0c(int param_1,int param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" primitive_type (function_declarator "FUN_000d6b0c(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  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ushort *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ushort *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    }" { (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(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) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar14 = uVar7 + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "uVar7 + *(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 (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }" { (expression_statement "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" identifier = (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) ))) + (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 ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" if (parenthesized_expression "((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))))" ( (binary_expression "(iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar10 <= *(int *)(param_2 + 8))" ( (binary_expression "iVar10 <= *(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) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" ( (parenthesized_expression "(*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))" ( (binary_expression "*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar10" (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 "(uVar14 <= *(uint *)(param_2 + 0xc))" ( (binary_expression "uVar14 <= *(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            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" { (expression_statement "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" identifier = (cast_expression "(char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" ( (binary_expression "*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c)" (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) )))) + (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) ))))) )))) ;) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar12 < pcVar3 + 8)" ( (binary_expression "pcVar12 < pcVar3 + 8" identifier < (binary_expression "pcVar3 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) (if_statement "if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" if (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) (compound_statement "{\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" { (expression_statement "iVar10 = *(int *)(param_1 + 0xfc);" (assignment_expression "iVar10 = *(int *)(param_1 + 0xfc)" identifier = (pointer_expression "*(int *)(param_1 + 0xfc)" * (cast_expression "(int *)(param_1 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfc)" ( (binary_expression "param_1 + 0xfc" identifier + number_literal) ))))) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" { (expression_statement "iVar8 = *(int *)(iVar10 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x18)" identifier = (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }" { (expression_statement "pcVar3[0x1c] = '\0';" (assignment_expression "pcVar3[0x1c] = '\0'" (subscript_expression "pcVar3[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1d] = '\0';" (assignment_expression "pcVar3[0x1d] = '\0'" (subscript_expression "pcVar3[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1e] = '\0';" (assignment_expression "pcVar3[0x1e] = '\0'" (subscript_expression "pcVar3[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x1f] = '\0';" (assignment_expression "pcVar3[0x1f] = '\0'" (subscript_expression "pcVar3[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" else (compound_statement "{\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" { (expression_statement "uVar14 = *(uint *)(iVar8 + 0x30);" (assignment_expression "uVar14 = *(uint *)(iVar8 + 0x30)" identifier = (pointer_expression "*(uint *)(iVar8 + 0x30)" * (cast_expression "(uint *)(iVar8 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar3 + 0x1c)" * (cast_expression "(uint *)(pcVar3 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x1c)" ( (binary_expression "pcVar3 + 0x1c" identifier + number_literal) )))) = (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" ( (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" ( (binary_expression "uVar14 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" ( (binary_expression "uVar14 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" ( (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) }))) })) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" ( (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" identifier < (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) ;) })) (expression_statement "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);" (assignment_expression "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);" (call_expression "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" (parenthesized_expression "(*(code *)PTR_gold_error_004c1a2c)" ( (pointer_expression "*(code *)PTR_gold_error_004c1a2c" * (cast_expression "(code *)PTR_gold_error_004c1a2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;) })) })) (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 "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar15 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,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 "(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(puVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 2" (pointer_expression "*(int *)(puVar11 + 0x20)" * (cast_expression "(int *)(puVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x20)" ( (binary_expression "puVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" { (if_statement "if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(puVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 1" (pointer_expression "*(int *)(puVar11 + 0x20)" * (cast_expression "(int *)(puVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x20)" ( (binary_expression "puVar11 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" { (if_statement "if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(puVar11 + 0x18))" ( (binary_expression "-1 < *(int *)(puVar11 + 0x18)" number_literal < (pointer_expression "*(int *)(puVar11 + 0x18)" * (cast_expression "(int *)(puVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" identifier = (binary_expression "*(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" (pointer_expression "*(uint *)(puVar11 + 0x14)" * (cast_expression "(uint *)(puVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x14)" ( (binary_expression "puVar11 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar11 + 0x1c)" * (cast_expression "(int *)(puVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x1c)" ( (binary_expression "puVar11 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);" (assignment_expression "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(puVar11 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(puVar11 + 0x14)" identifier < (pointer_expression "*(uint *)(puVar11 + 0x14)" * (cast_expression "(uint *)(puVar11 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x14)" ( (binary_expression "puVar11 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(puVar11 + 0x18)" * (cast_expression "(int *)(puVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))))" ( (binary_expression "(iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar8 <= *(int *)(iVar10 + 8))" ( (binary_expression "iVar8 <= *(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) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))" ( (binary_expression "*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar8" (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 "(uVar7 <= *(uint *)(iVar10 + 0xc))" ( (binary_expression "uVar7 <= *(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          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar13 = *(ushort **)(puVar11 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(puVar11 + 0x30)" identifier = (pointer_expression "*(ushort **)(puVar11 + 0x30)" * (cast_expression "(ushort **)(puVar11 + 0x30)" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" identifier = (cast_expression "(ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" ( (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c)" (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) )))) + (pointer_expression "*(int *)(puVar11 + 0x1c)" * (cast_expression "(int *)(puVar11 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x1c)" ( (binary_expression "puVar11 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" * 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 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" * (cast_expression "(undefined1 *)(puVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 1)" ( (binary_expression "puVar5 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar13 + 1)" * (cast_expression "(undefined1 *)(puVar13 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 1)" ( (binary_expression "puVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" * (cast_expression "(undefined1 *)((int)puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 3)" ( (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 3)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 3" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" * (cast_expression "(undefined1 *)(puVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 2)" ( (binary_expression "puVar5 + 2" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 4)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 4" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" * (cast_expression "(undefined1 *)((int)puVar5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 5)" ( (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 5)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 5" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" * (cast_expression "(undefined1 *)(puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 3)" ( (binary_expression "puVar5 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 6)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 6" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" * (cast_expression "(undefined1 *)((int)puVar5 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 7)" ( (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" * (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 7)" ( (binary_expression "*(int *)(puVar11 + 0x30) + 7" (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar11 + 0x30);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x30)" identifier = (pointer_expression "*(int *)(puVar11 + 0x30)" * (cast_expression "(int *)(puVar11 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x30)" ( (binary_expression "puVar11 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" identifier = (pointer_expression "*(uint *)(iVar10 + 8)" * (cast_expression "(uint *)(iVar10 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" * (cast_expression "(uint *)(puVar5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(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) ))))) ;) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" * (cast_expression "(uint *)(puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 6)" ( (binary_expression "puVar5 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" * (cast_expression "(uint *)(puVar5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" * (cast_expression "(uint *)(puVar5 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 10)" ( (binary_expression "puVar5 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);" (call_expression "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" (parenthesized_expression "(**(code **)(puVar15 + 0x3ead54))" ( (pointer_expression "**(code **)(puVar15 + 0x3ead54)" * (pointer_expression "*(code **)(puVar15 + 0x3ead54)" * (cast_expression "(code **)(puVar15 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3ead54)" ( (binary_expression "puVar15 + 0x3ead54" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" ( (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" * (cast_expression "(int *)(puVar15 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ea5a0)" ( (binary_expression "puVar15 + 0x3ea5a0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3350" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" * (cast_expression "(int *)(puVar15 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ead74)" ( (binary_expression "puVar15 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x3ead54);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x3ead54)" identifier = (pointer_expression "*(code **)(puVar15 + 0x3ead54)" * (cast_expression "(code **)(puVar15 + 0x3ead54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3ead54)" ( (binary_expression "puVar15 + 0x3ead54" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574" identifier = (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" * (cast_expression "(int *)(puVar15 + 0x3ea5a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ea5a0)" ( (binary_expression "puVar15 + 0x3ea5a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3a3c" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" * (cast_expression "(int *)(puVar15 + 0x3ead74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x3ead74)" ( (binary_expression "puVar15 + 0x3ead74" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" { (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" { (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" { (expression_statement "puVar13 = *(ushort **)(iVar10 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(iVar10 + 0x30)" identifier = (pointer_expression "*(ushort **)(iVar10 + 0x30)" * (cast_expression "(ushort **)(iVar10 + 0x30)" ( (type_descriptor "ushort **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" * 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 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" * (cast_expression "(undefined1 *)(puVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 1)" ( (binary_expression "puVar5 + 1" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(puVar13 + 1)" * (cast_expression "(undefined1 *)(puVar13 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 1)" ( (binary_expression "puVar13 + 1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" * (cast_expression "(undefined1 *)((int)puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 3)" ( (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 3)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 3" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" * (cast_expression "(undefined1 *)(puVar5 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 2)" ( (binary_expression "puVar5 + 2" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 4)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 4" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" * (cast_expression "(undefined1 *)((int)puVar5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 5)" ( (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 5)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 5" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" * (cast_expression "(undefined1 *)(puVar5 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 3)" ( (binary_expression "puVar5 + 3" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 6)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 6" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" * (cast_expression "(undefined1 *)((int)puVar5 + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 7)" ( (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" * (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 7)" ( (binary_expression "*(int *)(iVar10 + 0x30) + 7" (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x30)" identifier = (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" identifier = (pointer_expression "*(uint *)(iVar10 + 8)" * (cast_expression "(uint *)(iVar10 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" * (cast_expression "(uint *)(puVar5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(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) ))))) ;) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" * (cast_expression "(uint *)(puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 6)" ( (binary_expression "puVar5 + 6" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" * (cast_expression "(uint *)(puVar5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" * (cast_expression "(uint *)(puVar5 + 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 10)" ( (binary_expression "puVar5 + 10" identifier + number_literal) )))) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3eabf0))" ( (pointer_expression "**(code **)(pcVar16 + 0x3eabf0)" * (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" * (cast_expression "(code **)(pcVar16 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3eabf0)" ( (binary_expression "pcVar16 + 0x3eabf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" * (cast_expression "(int *)(pcVar16 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea43c)" ( (binary_expression "pcVar16 + 0x3ea43c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" * (cast_expression "(int *)(pcVar16 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3eac10)" ( (binary_expression "pcVar16 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x3eabf0);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x3eabf0)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" * (cast_expression "(code **)(pcVar16 + 0x3eabf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3eabf0)" ( (binary_expression "pcVar16 + 0x3eabf0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574" identifier = (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" * (cast_expression "(int *)(pcVar16 + 0x3ea43c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea43c)" ( (binary_expression "pcVar16 + 0x3ea43c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);" (call_expression "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" * (cast_expression "(int *)(pcVar16 + 0x3eac10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3eac10)" ( (binary_expression "pcVar16 + 0x3eac10" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" { (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" if (parenthesized_expression "(*(int *)(iVar10 + 0x10) == 0)" ( (binary_expression "*(int *)(iVar10 + 0x10) == 0" (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) )))) == number_literal) )) (compound_statement "{\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" { (expression_statement "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "uVar7 + *(int *)(iVar10 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" { (expression_statement "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar14 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar14 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" { (expression_statement "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" if (parenthesized_expression "(pcVar12 < pcVar3 + 8)" ( (binary_expression "pcVar12 < pcVar3 + 8" identifier < (binary_expression "pcVar3 + 8" identifier + number_literal)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) (if_statement "if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" if (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) (compound_statement "{\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" { (expression_statement "iVar8 = *(int *)(iVar10 + 0xfc);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0xfc)" identifier = (pointer_expression "*(int *)(iVar10 + 0xfc)" * (cast_expression "(int *)(iVar10 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xfc)" ( (binary_expression "iVar10 + 0xfc" identifier + number_literal) ))))) ;) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" do (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" { (if_statement "if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" if (parenthesized_expression "(cVar1 == '\x01')" ( (binary_expression "cVar1 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" { (expression_statement "iVar9 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }" { (expression_statement "pcVar3[0x24] = '\0';" (assignment_expression "pcVar3[0x24] = '\0'" (subscript_expression "pcVar3[0x24]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x25] = '\0';" (assignment_expression "pcVar3[0x25] = '\0'" (subscript_expression "pcVar3[0x25]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x26] = '\0';" (assignment_expression "pcVar3[0x26] = '\0'" (subscript_expression "pcVar3[0x26]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x27] = '\0';" (assignment_expression "pcVar3[0x27] = '\0'" (subscript_expression "pcVar3[0x27]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x20] = '\0';" (assignment_expression "pcVar3[0x20] = '\0'" (subscript_expression "pcVar3[0x20]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x21] = '\0';" (assignment_expression "pcVar3[0x21] = '\0'" (subscript_expression "pcVar3[0x21]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x22] = '\0';" (assignment_expression "pcVar3[0x22] = '\0'" (subscript_expression "pcVar3[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x23] = '\0';" (assignment_expression "pcVar3[0x23] = '\0'" (subscript_expression "pcVar3[0x23]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" else (compound_statement "{\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" { (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x30)" * (cast_expression "(undefined4 *)(iVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);" (assignment_expression "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34)" (pointer_expression "*(undefined4 *)(pcVar3 + 0x24)" * (cast_expression "(undefined4 *)(pcVar3 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x24)" ( (binary_expression "pcVar3 + 0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x34)" * (cast_expression "(undefined4 *)(iVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x34)" ( (binary_expression "iVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar3 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(pcVar3 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(pcVar3 + 0x20)" * (cast_expression "(undefined4 *)(pcVar3 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x20)" ( (binary_expression "pcVar3 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) })) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" if (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" ( (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" identifier < (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" identifier + identifier) + number_literal)) )) (compound_statement "{\n                  return;\n                }" { (return_statement "return;" return ;) })) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" identifier = (binary_expression "pcVar3 + uVar7" identifier + identifier)) ;) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" identifier = (cast_expression "(uint)(byte)pcVar3[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar3[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar3[1]" identifier [ number_literal ])))) ;) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) }) while (parenthesized_expression "(7 < uVar7)" ( (binary_expression "7 < uVar7" number_literal < identifier) )) ;) })) (expression_statement "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);" (assignment_expression "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" identifier = (call_expression "(**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eec8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eec8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eec8c)" * (cast_expression "(code **)(pcVar17 + 0x3eec8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eec8c)" ( (binary_expression "pcVar17 + 0x3eec8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3888" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);" (call_expression "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa88))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa88)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa88)" * (cast_expression "(code **)(pcVar17 + 0x3eaa88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa88)" ( (binary_expression "pcVar17 + 0x3eaa88" identifier + number_literal) ))))) )) (argument_list "(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" ( identifier , (pointer_expression "*(undefined4 *)(iVar10 + 0x24)" * (cast_expression "(undefined4 *)(iVar10 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) )))) , identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x4584" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" ( (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" * (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" ( (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3350" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" identifier = number_literal) ;) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" * (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x3eaa8c)" ( (binary_expression "pcVar17 + 0x3eaa8c" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574" identifier = (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" * (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3ea2d8)" ( (binary_expression "pcVar17 + 0x3ea2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" * (cast_expression "(int *)(pcVar17 + 0x3eaaac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x3eaaac)" ( (binary_expression "pcVar17 + 0x3eaaac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 2)" ( (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 2" number_literal < (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3ea8b8)" ( (binary_expression "pcVar16 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" * (cast_expression "(int *)(pcVar16 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea104)" ( (binary_expression "pcVar16 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea8d8)" ( (binary_expression "pcVar16 + 0x3ea8d8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" if (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" ( (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" * (cast_expression "(int *)(iVar10 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x20)" ( (binary_expression "iVar10 + 0x20" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" { (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" if (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar10 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" { (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" identifier = (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar10 + 0x14)" * (cast_expression "(uint *)(iVar10 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar10 + 0x18)" * (cast_expression "(int *)(iVar10 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x18)" ( (binary_expression "iVar10 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" if (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" { (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x38);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x38)" * (cast_expression "(undefined4 *)(iVar10 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" identifier = (cast_expression "(undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" ( (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar8 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x30)" identifier = (pointer_expression "*(int *)(iVar10 + 0x30)" * (cast_expression "(int *)(iVar10 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x30)" ( (binary_expression "iVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);" (assignment_expression "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c)" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x3c)" * (cast_expression "(undefined4 *)(iVar10 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3c)" ( (binary_expression "iVar10 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "*puVar6 = uVar4;" (assignment_expression "*puVar6 = uVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x40);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x40)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x40)" * (cast_expression "(undefined4 *)(iVar10 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x40)" ( (binary_expression "iVar10 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = *(undefined4 *)(iVar10 + 0x44);" (assignment_expression "puVar6[2] = *(undefined4 *)(iVar10 + 0x44)" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x44)" * (cast_expression "(undefined4 *)(iVar10 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x44)" ( (binary_expression "iVar10 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "puVar6[1] = uVar4;" (assignment_expression "puVar6[1] = uVar4" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x48);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x48)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x48)" * (cast_expression "(undefined4 *)(iVar10 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x48)" ( (binary_expression "iVar10 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);" (assignment_expression "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c)" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x4c)" * (cast_expression "(undefined4 *)(iVar10 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x4c)" ( (binary_expression "iVar10 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[2] = uVar4;" (assignment_expression "puVar6[2] = uVar4" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x50);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x50)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x50)" * (cast_expression "(undefined4 *)(iVar10 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x50)" ( (binary_expression "iVar10 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "puVar6[4] = *(undefined4 *)(iVar10 + 0x54);" (assignment_expression "puVar6[4] = *(undefined4 *)(iVar10 + 0x54)" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x54)" * (cast_expression "(undefined4 *)(iVar10 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x54)" ( (binary_expression "iVar10 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "puVar6[3] = uVar4;" (assignment_expression "puVar6[3] = uVar4" (subscript_expression "puVar6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x58);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 0x58)" * (cast_expression "(undefined4 *)(iVar10 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x58)" ( (binary_expression "iVar10 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);" (assignment_expression "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c)" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar10 + 0x5c)" * (cast_expression "(undefined4 *)(iVar10 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[4] = uVar4;" (assignment_expression "puVar6[4] = uVar4" (subscript_expression "puVar6[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" { (expression_statement "uVar4 = *(undefined4 *)(iVar8 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar8 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x30)" * (cast_expression "(undefined4 *)(iVar8 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "puVar6[6] = *(undefined4 *)(iVar8 + 0x34);" (assignment_expression "puVar6[6] = *(undefined4 *)(iVar8 + 0x34)" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar8 + 0x34)" * (cast_expression "(undefined4 *)(iVar8 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x34)" ( (binary_expression "iVar8 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "puVar6[5] = uVar4;" (assignment_expression "puVar6[5] = uVar4" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" ( (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" * (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" * (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3ea8b8)" ( (binary_expression "pcVar16 + 0x3ea8b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" ( (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" * (cast_expression "(int *)(pcVar16 + 0x3ea104)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea104)" ( (binary_expression "pcVar16 + 0x3ea104" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" * (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x3ea8d8)" ( (binary_expression "pcVar16 + 0x3ea8d8" 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 { (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 (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 IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (binary_expression IDENT + IDENT) + LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (return_statement return ;) })) })) (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 (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 (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 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 (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) )))))) ;) (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 * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) ))) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (return_statement return ;) })) })) (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) ))) ;) })) (expression_statement (assignment_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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (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 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 (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) )))))) ;) (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 * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) ))) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_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) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (return_statement return ;) })) })) (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) ))) ;) })) (expression_statement (assignment_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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (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 (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 IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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) ))))) ;) (expression_statement (assignment_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 IDENT < (binary_expression (binary_expression IDENT + IDENT) + LIT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (return_statement return ;) })) })) (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) ))) ;) })) (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) ))) ;) })) (expression_statement (assignment_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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 ;) })) (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 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 (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) )))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor 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) ))))) )))) ;) (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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) })) (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 ;) })))
(function_definition "void FUN_000d6b0c(int param_1,int param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000d6b0c(int param_1,int param_2)" (identifier "FUN_000d6b0c") (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  char cVar1;\n  ushort uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  ushort *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  ushort *puVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  \n  if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;\n  puVar15 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);\n  if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(puVar15 + 0x3ead54);\n  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);\n  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;\n  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);\n  if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }\n  iVar8 = 0xe3;\n  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);\n  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;\n  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);\n  if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }\n  if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }\n  (**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "ushort *puVar5;" (type_identifier "ushort") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "ushort *puVar13;" (type_identifier "ushort") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "code *pcVar17;" (type_identifier "code") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) << 2 < 0) {\n    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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_statement "if (*(int *)(param_1 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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      uVar7 = *(uint *)(param_1 + 0x14);\n      if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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    }" ({ "{") (expression_statement "uVar7 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x14)" (identifier "uVar7") (= "=") (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")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);\n        if (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" ({ "{") (expression_statement "uVar14 = uVar7 + *(int *)(param_1 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(param_1 + 0x1c)" (identifier "uVar14") (= "=") (binary_expression "uVar7 + *(int *)(param_1 + 0x1c)" (identifier "uVar7") (+ "+") (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 (-1 < *(int *)(param_1 + 0x18)) {\n          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\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          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);\n          if ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }\n        }" ({ "{") (expression_statement "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);" (assignment_expression "iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" (identifier "iVar10") (= "=") (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar7)" (( "(") (binary_expression "uVar14 < uVar7" (identifier "uVar14") (< "<") (identifier "uVar7")) () ")"))) (+ "+") (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 ((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" (if "if") (parenthesized_expression "((iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))))" (( "(") (binary_expression "(iVar10 <= *(int *)(param_2 + 8)) &&\n             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" (parenthesized_expression "(iVar10 <= *(int *)(param_2 + 8))" (( "(") (binary_expression "iVar10 <= *(int *)(param_2 + 8)" (identifier "iVar10") (<= "<=") (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) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc)))" (( "(") (binary_expression "*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))" (binary_expression "*(int *)(param_2 + 8) != iVar10" (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 "iVar10")) (|| "||") (parenthesized_expression "(uVar14 <= *(uint *)(param_2 + 0xc))" (( "(") (binary_expression "uVar14 <= *(uint *)(param_2 + 0xc)" (identifier "uVar14") (<= "<=") (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            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);\n                    \n                    \n            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);\n            return;\n          }" ({ "{") (expression_statement "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" (identifier "pcVar3") (= "=") (cast_expression "(char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c))" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c)" (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")) () ")")))) (+ "+") (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")) () ")"))))) () ")")))) (; ";")) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" (identifier "pcVar12") (= "=") (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7"))) (; ";")) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" (if "if") (parenthesized_expression "(pcVar12 < pcVar3 + 8)" (( "(") (binary_expression "pcVar12 < pcVar3 + 8" (identifier "pcVar12") (< "<") (binary_expression "pcVar3 + 8" (identifier "pcVar3") (+ "+") (number_literal "8"))) () ")")) (compound_statement "{\n              return;\n            }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" (identifier "uVar7") (= "=") (cast_expression "(uint)(byte)pcVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar3[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" (identifier "cVar1") (= "=") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3"))) (; ";")) (if_statement "if (7 < uVar7) {\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" (if "if") (parenthesized_expression "(7 < uVar7)" (( "(") (binary_expression "7 < uVar7" (number_literal "7") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n              iVar10 = *(int *)(param_1 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" ({ "{") (expression_statement "iVar10 = *(int *)(param_1 + 0xfc);" (assignment_expression "iVar10 = *(int *)(param_1 + 0xfc)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_1 + 0xfc)" (* "*") (cast_expression "(int *)(param_1 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xfc)" (( "(") (binary_expression "param_1 + 0xfc" (identifier "param_1") (+ "+") (number_literal "0xfc")) () ")"))))) (; ";")) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" (do "do") (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" ({ "{") (if_statement "if (cVar1 == '\x01') {\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" (if "if") (parenthesized_expression "(cVar1 == '\x01')" (( "(") (binary_expression "cVar1 == '\x01'" (identifier "cVar1") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n                  iVar8 = *(int *)(iVar10 + 0x18);\n                  if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }\n                }" ({ "{") (expression_statement "iVar8 = *(int *)(iVar10 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x18)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) {\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }\n                  else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar3[0x1c] = '\0';\n                    pcVar3[0x1d] = '\0';\n                    pcVar3[0x1e] = '\0';\n                    pcVar3[0x1f] = '\0';\n                  }" ({ "{") (expression_statement "pcVar3[0x1c] = '\0';" (assignment_expression "pcVar3[0x1c] = '\0'" (subscript_expression "pcVar3[0x1c]" (identifier "pcVar3") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x1d] = '\0';" (assignment_expression "pcVar3[0x1d] = '\0'" (subscript_expression "pcVar3[0x1d]" (identifier "pcVar3") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x1e] = '\0';" (assignment_expression "pcVar3[0x1e] = '\0'" (subscript_expression "pcVar3[0x1e]" (identifier "pcVar3") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x1f] = '\0';" (assignment_expression "pcVar3[0x1f] = '\0'" (subscript_expression "pcVar3[0x1f]" (identifier "pcVar3") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" (else "else") (compound_statement "{\n                    uVar14 = *(uint *)(iVar8 + 0x30);\n                    *(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;\n                  }" ({ "{") (expression_statement "uVar14 = *(uint *)(iVar8 + 0x30);" (assignment_expression "uVar14 = *(uint *)(iVar8 + 0x30)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(iVar8 + 0x30)" (* "*") (cast_expression "(uint *)(iVar8 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x30)" (( "(") (binary_expression "iVar8 + 0x30" (identifier "iVar8") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(pcVar3 + 0x1c) =\n                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(pcVar3 + 0x1c)" (* "*") (cast_expression "(uint *)(pcVar3 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar3 + 0x1c)" (( "(") (binary_expression "pcVar3 + 0x1c" (identifier "pcVar3") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +\n                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10" (binary_expression "(uVar14 >> 0x10) << 0x18" (parenthesized_expression "(uVar14 >> 0x10)" (( "(") (binary_expression "uVar14 >> 0x10" (identifier "uVar14") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 >> 0x18) << 0x10" (parenthesized_expression "(uVar14 >> 0x18)" (( "(") (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff)" (( "(") (binary_expression "(uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff" (binary_expression "(uVar14 & 0xff) << 8" (parenthesized_expression "(uVar14 & 0xff)" (( "(") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar14 >> 8 & 0xff" (binary_expression "uVar14 >> 8" (identifier "uVar14") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" (if "if") (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" (( "(") (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" (identifier "pcVar12") (< "<") (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7")) (+ "+") (number_literal "8"))) () ")")) (compound_statement "{\n                  return;\n                }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" (identifier "uVar7") (= "=") (cast_expression "(uint)(byte)pcVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar3[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" (identifier "cVar1") (= "=") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(7 < uVar7)" (( "(") (binary_expression "7 < uVar7" (number_literal "7") (< "<") (identifier "uVar7")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);" (assignment_expression "uVar4 = (*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_gettext_004c5c30)\n                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" (( "(") (pointer_expression "*(code *)PTR_gettext_004c5c30" (* "*") (cast_expression "(code *)PTR_gettext_004c5c30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_004c5c30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3888")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);" (call_expression "(*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" (parenthesized_expression "(*(code *)PTR_gold_error_004c1a2c)" (( "(") (pointer_expression "*(code *)PTR_gold_error_004c1a2c" (* "*") (cast_expression "(code *)PTR_gold_error_004c1a2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gold_error_004c1a2c"))) () ")")) (argument_list "(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar7") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (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 "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;" (assignment_expression "puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "puVar11") (= "=") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "puVar15 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar15 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar15") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,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 "(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c)" (( "(") (identifier "puVar11") (, ",") (number_literal "0xe3") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x3a3c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (if_statement "if (*(int *)(puVar11 + 0x20) << 2 < 0) {\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(puVar11 + 0x20) << 2 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 2" (pointer_expression "*(int *)(puVar11 + 0x20)" (* "*") (cast_expression "(int *)(puVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x20)" (( "(") (binary_expression "puVar11 + 0x20" (identifier "puVar11") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);\n  }" ({ "{") (if_statement "if (*(int *)(puVar11 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar11 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(puVar11 + 0x20) << 1 < 0" (binary_expression "*(int *)(puVar11 + 0x20) << 1" (pointer_expression "*(int *)(puVar11 + 0x20)" (* "*") (cast_expression "(int *)(puVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x20)" (( "(") (binary_expression "puVar11 + 0x20" (identifier "puVar11") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" ({ "{") (if_statement "if (-1 < *(int *)(puVar11 + 0x18)) {\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(puVar11 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(puVar11 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(puVar11 + 0x18)" (* "*") (cast_expression "(int *)(puVar11 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x18)" (( "(") (binary_expression "puVar11 + 0x18" (identifier "puVar11") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);\n        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);\n        if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" ({ "{") (expression_statement "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c)" (pointer_expression "*(uint *)(puVar11 + 0x14)" (* "*") (cast_expression "(uint *)(puVar11 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x14)" (( "(") (binary_expression "puVar11 + 0x14" (identifier "puVar11") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(puVar11 + 0x1c)" (* "*") (cast_expression "(int *)(puVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x1c)" (( "(") (binary_expression "puVar11 + 0x1c" (identifier "puVar11") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);" (assignment_expression "iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" (identifier "iVar8") (= "=") (binary_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(puVar11 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < *(uint *)(puVar11 + 0x14))" (( "(") (binary_expression "uVar7 < *(uint *)(puVar11 + 0x14)" (identifier "uVar7") (< "<") (pointer_expression "*(uint *)(puVar11 + 0x14)" (* "*") (cast_expression "(uint *)(puVar11 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x14)" (( "(") (binary_expression "puVar11 + 0x14" (identifier "puVar11") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(puVar11 + 0x18)" (* "*") (cast_expression "(int *)(puVar11 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x18)" (( "(") (binary_expression "puVar11 + 0x18" (identifier "puVar11") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {\n          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" (if "if") (parenthesized_expression "((iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))))" (( "(") (binary_expression "(iVar8 <= *(int *)(iVar10 + 8)) &&\n           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" (parenthesized_expression "(iVar8 <= *(int *)(iVar10 + 8))" (( "(") (binary_expression "iVar8 <= *(int *)(iVar10 + 8)" (identifier "iVar8") (<= "<=") (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) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))" (binary_expression "*(int *)(iVar10 + 8) != iVar8" (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 "iVar8")) (|| "||") (parenthesized_expression "(uVar7 <= *(uint *)(iVar10 + 0xc))" (( "(") (binary_expression "uVar7 <= *(uint *)(iVar10 + 0xc)" (identifier "uVar7") (<= "<=") (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          puVar13 = *(ushort **)(puVar11 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);\n          iVar10 = *(int *)(puVar11 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" ({ "{") (expression_statement "puVar13 = *(ushort **)(puVar11 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(puVar11 + 0x30)" (identifier "puVar13") (= "=") (pointer_expression "*(ushort **)(puVar11 + 0x30)" (* "*") (cast_expression "(ushort **)(puVar11 + 0x30)" (( "(") (type_descriptor "ushort **" (type_identifier "ushort") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" (identifier "uVar2") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" (identifier "puVar5") (= "=") (cast_expression "(ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c))" (( "(") (binary_expression "*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c)" (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")) () ")")))) (+ "+") (pointer_expression "*(int *)(puVar11 + 0x1c)" (* "*") (cast_expression "(int *)(puVar11 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x1c)" (( "(") (binary_expression "puVar11 + 0x1c" (identifier "puVar11") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "(ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (call_expression "(ushort)((uVar2 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar2 & 0xff) << 8)" (( "(") (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 1)" (( "(") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(puVar13 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar13 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 1)" (( "(") (binary_expression "puVar13 + 1" (identifier "puVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 3)" (( "(") (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 3)" (( "(") (binary_expression "*(int *)(puVar11 + 0x30) + 3" (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 2)" (( "(") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 4)" (( "(") (binary_expression "*(int *)(puVar11 + 0x30) + 4" (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 5)" (( "(") (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "5")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 5)" (( "(") (binary_expression "*(int *)(puVar11 + 0x30) + 5" (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 3)" (( "(") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 6)" (( "(") (binary_expression "*(int *)(puVar11 + 0x30) + 6" (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 7)" (( "(") (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "7")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" (* "*") (cast_expression "(undefined1 *)(*(int *)(puVar11 + 0x30) + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar11 + 0x30) + 7)" (( "(") (binary_expression "*(int *)(puVar11 + 0x30) + 7" (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar11 + 0x30);" (assignment_expression "iVar10 = *(int *)(puVar11 + 0x30)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar11 + 0x30)" (* "*") (cast_expression "(int *)(puVar11 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x30)" (( "(") (binary_expression "puVar11 + 0x30" (identifier "puVar11") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 8)" (* "*") (cast_expression "(uint *)(iVar10 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" (* "*") (cast_expression "(uint *)(puVar5 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 4)" (( "(") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0xc)" (identifier "uVar7") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" (* "*") (cast_expression "(uint *)(puVar5 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 6)" (( "(") (binary_expression "puVar5 + 6" (identifier "puVar5") (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x10)" (* "*") (cast_expression "(uint *)(iVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" (* "*") (cast_expression "(uint *)(puVar5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 8)" (( "(") (binary_expression "puVar5 + 8" (identifier "puVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" (* "*") (cast_expression "(uint *)(puVar5 + 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 10)" (( "(") (binary_expression "puVar5 + 10" (identifier "puVar5") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);" (call_expression "(**(code **)(puVar15 + 0x3ead54))\n              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" (parenthesized_expression "(**(code **)(puVar15 + 0x3ead54))" (( "(") (pointer_expression "**(code **)(puVar15 + 0x3ead54)" (* "*") (pointer_expression "*(code **)(puVar15 + 0x3ead54)" (* "*") (cast_expression "(code **)(puVar15 + 0x3ead54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x3ead54)" (( "(") (binary_expression "puVar15 + 0x3ead54" (identifier "puVar15") (+ "+") (number_literal "0x3ead54")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350)" (( "(") (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" (* "*") (cast_expression "(int *)(puVar15 + 0x3ea5a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3ea5a0)" (( "(") (binary_expression "puVar15 + 0x3ea5a0" (identifier "puVar15") (+ "+") (number_literal "0x3ea5a0")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3350" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" (* "*") (cast_expression "(int *)(puVar15 + 0x3ead74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3ead74)" (( "(") (binary_expression "puVar15 + 0x3ead74" (identifier "puVar15") (+ "+") (number_literal "0x3ead74")) () ")")))) (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" (identifier "iVar8") (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x3ead54);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x3ead54)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar15 + 0x3ead54)" (* "*") (cast_expression "(code **)(puVar15 + 0x3ead54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x3ead54)" (( "(") (binary_expression "puVar15 + 0x3ead54" (identifier "puVar15") (+ "+") (number_literal "0x3ead54")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;" (assignment_expression "iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574" (identifier "iVar10") (= "=") (binary_expression "*(int *)(puVar15 + 0x3ea5a0) + 0x3574" (pointer_expression "*(int *)(puVar15 + 0x3ea5a0)" (* "*") (cast_expression "(int *)(puVar15 + 0x3ea5a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3ea5a0)" (( "(") (binary_expression "puVar15 + 0x3ea5a0" (identifier "puVar15") (+ "+") (number_literal "0x3ea5a0")) () ")")))) (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c)" (( "(") (identifier "iVar10") (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(puVar15 + 0x3ead74) + -0x3a3c" (pointer_expression "*(int *)(puVar15 + 0x3ead74)" (* "*") (cast_expression "(int *)(puVar15 + 0x3ead74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x3ead74)" (( "(") (binary_expression "puVar15 + 0x3ead74" (identifier "puVar15") (+ "+") (number_literal "0x3ead74")) () ")")))) (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }\n    (**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);\n  }" ({ "{") (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }\n      FUN_000d5cdc();\n    }" ({ "{") (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar10 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n        if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }\n      }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (identifier "iVar9") (= "=") (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" (( "(") (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" (identifier "uVar7") (< "<") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" (if "if") (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" (( "(") (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" (( "(") (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" (identifier "iVar9") (<= "<=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar9")) (|| "||") (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" (( "(") (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" (identifier "uVar7") (<= "<=") (pointer_expression "*(uint *)(iVar8 + 0xc)" (* "*") (cast_expression "(uint *)(iVar8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          puVar13 = *(ushort **)(iVar10 + 0x30);\n          uVar2 = *puVar13;\n          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;\n          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);\n          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);\n          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);\n          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);\n          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);\n          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);\n          iVar10 = *(int *)(iVar10 + 0x30);\n          uVar7 = *(uint *)(iVar10 + 8);\n          *(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0xc);\n          *(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x10);\n          *(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          uVar7 = *(uint *)(iVar10 + 0x14);\n          *(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n          return;\n        }" ({ "{") (expression_statement "puVar13 = *(ushort **)(iVar10 + 0x30);" (assignment_expression "puVar13 = *(ushort **)(iVar10 + 0x30)" (identifier "puVar13") (= "=") (pointer_expression "*(ushort **)(iVar10 + 0x30)" (* "*") (cast_expression "(ushort **)(iVar10 + 0x30)" (( "(") (type_descriptor "ushort **" (type_identifier "ushort") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar2 = *puVar13;" (assignment_expression "uVar2 = *puVar13" (identifier "uVar2") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (identifier "puVar5") (= "=") (cast_expression "(ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" (* "*") (cast_expression "(int *)(iVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;" (assignment_expression "*puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "(ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8" (call_expression "(ushort)((uVar2 & 0xff) << 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uVar2 & 0xff) << 8)" (( "(") (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) () ")"))) (| "|") (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);" (assignment_expression "*(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1)" (pointer_expression "*(undefined1 *)(puVar5 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 1)" (( "(") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(puVar13 + 1)" (* "*") (cast_expression "(undefined1 *)(puVar13 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 1)" (( "(") (binary_expression "puVar13 + 1" (identifier "puVar13") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);" (assignment_expression "*(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" (pointer_expression "*(undefined1 *)((int)puVar5 + 3)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 3)" (( "(") (binary_expression "(int)puVar5 + 3" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 3)" (( "(") (binary_expression "*(int *)(iVar10 + 0x30) + 3" (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);" (assignment_expression "*(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" (pointer_expression "*(undefined1 *)(puVar5 + 2)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 2)" (( "(") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 4)" (( "(") (binary_expression "*(int *)(iVar10 + 0x30) + 4" (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);" (assignment_expression "*(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" (pointer_expression "*(undefined1 *)((int)puVar5 + 5)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 5)" (( "(") (binary_expression "(int)puVar5 + 5" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "5")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 5)" (( "(") (binary_expression "*(int *)(iVar10 + 0x30) + 5" (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);" (assignment_expression "*(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" (pointer_expression "*(undefined1 *)(puVar5 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar5 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 3)" (( "(") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 6)" (( "(") (binary_expression "*(int *)(iVar10 + 0x30) + 6" (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);" (assignment_expression "*(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" (pointer_expression "*(undefined1 *)((int)puVar5 + 7)" (* "*") (cast_expression "(undefined1 *)((int)puVar5 + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 + 7)" (( "(") (binary_expression "(int)puVar5 + 7" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (number_literal "7")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar10 + 0x30) + 7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x30) + 7)" (( "(") (binary_expression "*(int *)(iVar10 + 0x30) + 7" (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x30)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 8);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 8)" (* "*") (cast_expression "(uint *)(iVar10 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 4) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 4)" (* "*") (cast_expression "(uint *)(puVar5 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 4)" (( "(") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0xc);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0xc)" (identifier "uVar7") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 6) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 6)" (* "*") (cast_expression "(uint *)(puVar5 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 6)" (( "(") (binary_expression "puVar5 + 6" (identifier "puVar5") (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x10);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x10)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x10)" (* "*") (cast_expression "(uint *)(iVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x10)" (( "(") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 8) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 8)" (* "*") (cast_expression "(uint *)(puVar5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 8)" (( "(") (binary_expression "puVar5 + 8" (identifier "puVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "*(uint *)(puVar5 + 10) =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (pointer_expression "*(uint *)(puVar5 + 10)" (* "*") (cast_expression "(uint *)(puVar5 + 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 10)" (( "(") (binary_expression "puVar5 + 10" (identifier "puVar5") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3eabf0))\n              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3eabf0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x3eabf0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x3eabf0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x3eabf0)" (( "(") (binary_expression "pcVar16 + 0x3eabf0" (identifier "pcVar16") (+ "+") (number_literal "0x3eabf0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea43c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea43c)" (( "(") (binary_expression "pcVar16 + 0x3ea43c" (identifier "pcVar16") (+ "+") (number_literal "0x3ea43c")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3eac10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3eac10)" (( "(") (binary_expression "pcVar16 + 0x3eac10" (identifier "pcVar16") (+ "+") (number_literal "0x3eac10")) () ")")))) (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" (identifier "iVar8") (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x3eabf0);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x3eabf0)" (identifier "pcVar17") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x3eabf0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x3eabf0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x3eabf0)" (( "(") (binary_expression "pcVar16 + 0x3eabf0" (identifier "pcVar16") (+ "+") (number_literal "0x3eabf0")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574" (identifier "iVar10") (= "=") (binary_expression "*(int *)(pcVar16 + 0x3ea43c) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea43c)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea43c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea43c)" (( "(") (binary_expression "pcVar16 + 0x3ea43c" (identifier "pcVar16") (+ "+") (number_literal "0x3ea43c")) () ")")))) (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);" (call_expression "(*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c)" (( "(") (identifier "iVar10") (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar16 + 0x3eac10) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3eac10)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3eac10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3eac10)" (( "(") (binary_expression "pcVar16 + 0x3eac10" (identifier "pcVar16") (+ "+") (number_literal "0x3eac10")) () ")")))) (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (if_statement "if (*(int *)(iVar10 + 0x20) << 2 < 0) {\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 2 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 2 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }\n    (**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);\n  }" ({ "{") (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14);\n      if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }\n      (**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);\n    }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar10 + 0x10) == 0) {\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x10) == 0" (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")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);\n        if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }\n        FUN_000d5cdc();\n      }" ({ "{") (expression_statement "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar14 = uVar7 + *(int *)(iVar10 + 0x1c)" (identifier "uVar14") (= "=") (binary_expression "uVar7 + *(int *)(iVar10 + 0x1c)" (identifier "uVar7") (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar10 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);\n          if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }\n        }" ({ "{") (expression_statement "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" (identifier "iVar9") (= "=") (binary_expression "(uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar14 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < uVar7)" (( "(") (binary_expression "uVar14 < uVar7" (identifier "uVar14") (< "<") (identifier "uVar7")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" (if "if") (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))))" (( "(") (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" (( "(") (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" (identifier "iVar9") (<= "<=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar9")) (|| "||") (parenthesized_expression "(uVar14 <= *(uint *)(iVar8 + 0xc))" (( "(") (binary_expression "uVar14 <= *(uint *)(iVar8 + 0xc)" (identifier "uVar14") (<= "<=") (pointer_expression "*(uint *)(iVar8 + 0xc)" (* "*") (cast_expression "(uint *)(iVar8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n            pcVar12 = pcVar3 + uVar7;\n            if (pcVar12 < pcVar3 + 8) {\n              return;\n            }\n            uVar7 = (uint)(byte)pcVar3[1];\n            cVar1 = *pcVar3;\n            if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }\n            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);\n                    \n                    \n            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);\n            return;\n          }" ({ "{") (expression_statement "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (identifier "pcVar3") (= "=") (cast_expression "(char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" (* "*") (cast_expression "(int *)(iVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "pcVar12 = pcVar3 + uVar7;" (assignment_expression "pcVar12 = pcVar3 + uVar7" (identifier "pcVar12") (= "=") (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7"))) (; ";")) (if_statement "if (pcVar12 < pcVar3 + 8) {\n              return;\n            }" (if "if") (parenthesized_expression "(pcVar12 < pcVar3 + 8)" (( "(") (binary_expression "pcVar12 < pcVar3 + 8" (identifier "pcVar12") (< "<") (binary_expression "pcVar3 + 8" (identifier "pcVar3") (+ "+") (number_literal "8"))) () ")")) (compound_statement "{\n              return;\n            }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" (identifier "uVar7") (= "=") (cast_expression "(uint)(byte)pcVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar3[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" (identifier "cVar1") (= "=") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3"))) (; ";")) (if_statement "if (7 < uVar7) {\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" (if "if") (parenthesized_expression "(7 < uVar7)" (( "(") (binary_expression "7 < uVar7" (number_literal "7") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n              iVar8 = *(int *)(iVar10 + 0xfc);\n              do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);\n            }" ({ "{") (expression_statement "iVar8 = *(int *)(iVar10 + 0xfc);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0xfc)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar10 + 0xfc)" (* "*") (cast_expression "(int *)(iVar10 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0xfc)" (( "(") (binary_expression "iVar10 + 0xfc" (identifier "iVar10") (+ "+") (number_literal "0xfc")) () ")"))))) (; ";")) (do_statement "do {\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              } while (7 < uVar7);" (do "do") (compound_statement "{\n                if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }\n                if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }\n                pcVar3 = pcVar3 + uVar7;\n                uVar7 = (uint)(byte)pcVar3[1];\n                cVar1 = *pcVar3;\n              }" ({ "{") (if_statement "if (cVar1 == '\x01') {\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" (if "if") (parenthesized_expression "(cVar1 == '\x01')" (( "(") (binary_expression "cVar1 == '\x01'" (identifier "cVar1") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n                  iVar9 = *(int *)(iVar8 + 0x18);\n                  if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }\n                }" ({ "{") (expression_statement "iVar9 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x18)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar8 + 0x18)" (* "*") (cast_expression "(int *)(iVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) {\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }\n                  else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar3[0x24] = '\0';\n                    pcVar3[0x25] = '\0';\n                    pcVar3[0x26] = '\0';\n                    pcVar3[0x27] = '\0';\n                    pcVar3[0x20] = '\0';\n                    pcVar3[0x21] = '\0';\n                    pcVar3[0x22] = '\0';\n                    pcVar3[0x23] = '\0';\n                  }" ({ "{") (expression_statement "pcVar3[0x24] = '\0';" (assignment_expression "pcVar3[0x24] = '\0'" (subscript_expression "pcVar3[0x24]" (identifier "pcVar3") ([ "[") (number_literal "0x24") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x25] = '\0';" (assignment_expression "pcVar3[0x25] = '\0'" (subscript_expression "pcVar3[0x25]" (identifier "pcVar3") ([ "[") (number_literal "0x25") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x26] = '\0';" (assignment_expression "pcVar3[0x26] = '\0'" (subscript_expression "pcVar3[0x26]" (identifier "pcVar3") ([ "[") (number_literal "0x26") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x27] = '\0';" (assignment_expression "pcVar3[0x27] = '\0'" (subscript_expression "pcVar3[0x27]" (identifier "pcVar3") ([ "[") (number_literal "0x27") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x20] = '\0';" (assignment_expression "pcVar3[0x20] = '\0'" (subscript_expression "pcVar3[0x20]" (identifier "pcVar3") ([ "[") (number_literal "0x20") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x21] = '\0';" (assignment_expression "pcVar3[0x21] = '\0'" (subscript_expression "pcVar3[0x21]" (identifier "pcVar3") ([ "[") (number_literal "0x21") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x22] = '\0';" (assignment_expression "pcVar3[0x22] = '\0'" (subscript_expression "pcVar3[0x22]" (identifier "pcVar3") ([ "[") (number_literal "0x22") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar3[0x23] = '\0';" (assignment_expression "pcVar3[0x23] = '\0'" (subscript_expression "pcVar3[0x23]" (identifier "pcVar3") ([ "[") (number_literal "0x23") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" (else "else") (compound_statement "{\n                    uVar4 = *(undefined4 *)(iVar9 + 0x30);\n                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);\n                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;\n                  }" ({ "{") (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x30)" (( "(") (binary_expression "iVar9 + 0x30" (identifier "iVar9") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);" (assignment_expression "*(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34)" (pointer_expression "*(undefined4 *)(pcVar3 + 0x24)" (* "*") (cast_expression "(undefined4 *)(pcVar3 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar3 + 0x24)" (( "(") (binary_expression "pcVar3 + 0x24" (identifier "pcVar3") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x34)" (( "(") (binary_expression "iVar9 + 0x34" (identifier "iVar9") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pcVar3 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(pcVar3 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(pcVar3 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pcVar3 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar3 + 0x20)" (( "(") (binary_expression "pcVar3 + 0x20" (identifier "pcVar3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (} "}")))) (} "}"))) (if_statement "if (pcVar12 < pcVar3 + uVar7 + 8) {\n                  return;\n                }" (if "if") (parenthesized_expression "(pcVar12 < pcVar3 + uVar7 + 8)" (( "(") (binary_expression "pcVar12 < pcVar3 + uVar7 + 8" (identifier "pcVar12") (< "<") (binary_expression "pcVar3 + uVar7 + 8" (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7")) (+ "+") (number_literal "8"))) () ")")) (compound_statement "{\n                  return;\n                }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar3 = pcVar3 + uVar7;" (assignment_expression "pcVar3 = pcVar3 + uVar7" (identifier "pcVar3") (= "=") (binary_expression "pcVar3 + uVar7" (identifier "pcVar3") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = (uint)(byte)pcVar3[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar3[1]" (identifier "uVar7") (= "=") (cast_expression "(uint)(byte)pcVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar3[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" (identifier "cVar1") (= "=") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(7 < uVar7)" (( "(") (binary_expression "7 < uVar7" (number_literal "7") (< "<") (identifier "uVar7")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);" (assignment_expression "uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eec8c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x3eec8c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x3eec8c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x3eec8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x3eec8c)" (( "(") (binary_expression "pcVar17 + 0x3eec8c" (identifier "pcVar17") (+ "+") (number_literal "0x3eec8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3888" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3ea2d8)" (( "(") (binary_expression "pcVar17 + 0x3ea2d8" (identifier "pcVar17") (+ "+") (number_literal "0x3ea2d8")) () ")")))) (+ "+") (number_literal "0x3888")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);" (call_expression "(**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa88))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x3eaa88)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x3eaa88)" (* "*") (cast_expression "(code **)(pcVar17 + 0x3eaa88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaa88)" (( "(") (binary_expression "pcVar17 + 0x3eaa88" (identifier "pcVar17") (+ "+") (number_literal "0x3eaa88")) () ")"))))) () ")")) (argument_list "(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*(undefined4 *)(iVar10 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x24)" (( "(") (binary_expression "iVar10 + 0x24" (identifier "iVar10") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar7") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaa8c)" (( "(") (binary_expression "pcVar17 + 0x3eaa8c" (identifier "pcVar17") (+ "+") (number_literal "0x3eaa8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x4584" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3ea2d8)" (( "(") (binary_expression "pcVar17 + 0x3ea2d8" (identifier "pcVar17") (+ "+") (number_literal "0x3ea2d8")) () ")")))) (+ "+") (number_literal "0x4584")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3eaaac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaaac)" (( "(") (binary_expression "pcVar17 + 0x3eaaac" (identifier "pcVar17") (+ "+") (number_literal "0x3eaaac")) () ")")))) (+ "+") (number_literal "-0x3a9c")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);" (call_expression "(**(code **)(pcVar17 + 0x3eaa8c))\n              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar17 + 0x3eaa8c))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x3eaa8c)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaa8c)" (( "(") (binary_expression "pcVar17 + 0x3eaa8c" (identifier "pcVar17") (+ "+") (number_literal "0x3eaa8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3ea2d8)" (( "(") (binary_expression "pcVar17 + 0x3ea2d8" (identifier "pcVar17") (+ "+") (number_literal "0x3ea2d8")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3350" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3eaaac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaaac)" (( "(") (binary_expression "pcVar17 + 0x3eaaac" (identifier "pcVar17") (+ "+") (number_literal "0x3eaaac")) () ")")))) (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = 0xe3;" (assignment_expression "iVar8 = 0xe3" (identifier "iVar8") (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);" (assignment_expression "pcVar16 = *(code **)(pcVar17 + 0x3eaa8c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar17 + 0x3eaa8c)" (* "*") (cast_expression "(code **)(pcVar17 + 0x3eaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaa8c)" (( "(") (binary_expression "pcVar17 + 0x3eaa8c" (identifier "pcVar17") (+ "+") (number_literal "0x3eaa8c")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;" (assignment_expression "iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (identifier "iVar10") (= "=") (binary_expression "*(int *)(pcVar17 + 0x3ea2d8) + 0x3574" (pointer_expression "*(int *)(pcVar17 + 0x3ea2d8)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3ea2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3ea2d8)" (( "(") (binary_expression "pcVar17 + 0x3ea2d8" (identifier "pcVar17") (+ "+") (number_literal "0x3ea2d8")) () ")")))) (+ "+") (number_literal "0x3574"))) (; ";")) (expression_statement "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);" (call_expression "(*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c)" (( "(") (identifier "iVar10") (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c" (pointer_expression "*(int *)(pcVar17 + 0x3eaaac)" (* "*") (cast_expression "(int *)(pcVar17 + 0x3eaaac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x3eaaac)" (( "(") (binary_expression "pcVar17 + 0x3eaaac" (identifier "pcVar17") (+ "+") (number_literal "0x3eaaac")) () ")")))) (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (if_statement "if (-1 < *(int *)(iVar10 + 0x20) << 2) {\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x20) << 2)" (( "(") (binary_expression "-1 < *(int *)(iVar10 + 0x20) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(iVar10 + 0x20) << 2" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "2"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);\n    return;\n  }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" (* "*") (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea8b8)" (( "(") (binary_expression "pcVar16 + 0x3ea8b8" (identifier "pcVar16") (+ "+") (number_literal "0x3ea8b8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea104)" (( "(") (binary_expression "pcVar16 + 0x3ea104" (identifier "pcVar16") (+ "+") (number_literal "0x3ea104")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea8d8)" (( "(") (binary_expression "pcVar16 + 0x3ea8d8" (identifier "pcVar16") (+ "+") (number_literal "0x3ea8d8")) () ")")))) (+ "+") (number_literal "-0x3a3c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar10 + 0x20) << 1 < 0) {\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x20) << 1 < 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x20) << 1 < 0" (binary_expression "*(int *)(iVar10 + 0x20) << 1" (pointer_expression "*(int *)(iVar10 + 0x20)" (* "*") (cast_expression "(int *)(iVar10 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x20)" (( "(") (binary_expression "iVar10 + 0x20" (identifier "iVar10") (+ "+") (number_literal "0x20")) () ")")))) (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }\n    FUN_000d5cdc();\n  }" ({ "{") (if_statement "if (-1 < *(int *)(iVar10 + 0x18)) {\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar10 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar10 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);\n      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);\n      if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }\n    }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);" (assignment_expression "uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);" (assignment_expression "iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (identifier "iVar9") (= "=") (binary_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar10 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < *(uint *)(iVar10 + 0x14))" (( "(") (binary_expression "uVar7 < *(uint *)(iVar10 + 0x14)" (identifier "uVar7") (< "<") (pointer_expression "*(uint *)(iVar10 + 0x14)" (* "*") (cast_expression "(uint *)(iVar10 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x18)" (* "*") (cast_expression "(int *)(iVar10 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x18)" (( "(") (binary_expression "iVar10 + 0x18" (identifier "iVar10") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" (if "if") (parenthesized_expression "((iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" (( "(") (binary_expression "(iVar9 <= *(int *)(iVar8 + 8)) &&\n         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar9 <= *(int *)(iVar8 + 8))" (( "(") (binary_expression "iVar9 <= *(int *)(iVar8 + 8)" (identifier "iVar9") (<= "<=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar9" (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar9")) (|| "||") (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" (( "(") (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" (identifier "uVar7") (<= "<=") (pointer_expression "*(uint *)(iVar8 + 0xc)" (* "*") (cast_expression "(uint *)(iVar8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar4 = *(undefined4 *)(iVar10 + 0x38);\n        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));\n        iVar8 = *(int *)(iVar10 + 0x30);\n        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);\n        *puVar6 = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x40);\n        iVar8 = *(int *)(iVar8 + 0x18);\n        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);\n        puVar6[1] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x48);\n        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);\n        puVar6[2] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x50);\n        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);\n        puVar6[3] = uVar4;\n        uVar4 = *(undefined4 *)(iVar10 + 0x58);\n        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);\n        puVar6[4] = uVar4;\n        if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }\n        puVar6[6] = 0;\n        puVar6[5] = 0;\n        return;\n      }" ({ "{") (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x38);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x38)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x38)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c))" (( "(") (binary_expression "*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c)" (pointer_expression "*(int *)(iVar8 + 0x10)" (* "*") (cast_expression "(int *)(iVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar10 + 0x1c)" (* "*") (cast_expression "(int *)(iVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar10 + 0x30);" (assignment_expression "iVar8 = *(int *)(iVar10 + 0x30)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar10 + 0x30)" (* "*") (cast_expression "(int *)(iVar10 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x30)" (( "(") (binary_expression "iVar10 + 0x30" (identifier "iVar10") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);" (assignment_expression "puVar6[1] = *(undefined4 *)(iVar10 + 0x3c)" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x3c)" (( "(") (binary_expression "iVar10 + 0x3c" (identifier "iVar10") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*puVar6 = uVar4;" (assignment_expression "*puVar6 = uVar4" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x40);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x40)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x40)" (( "(") (binary_expression "iVar10 + 0x40" (identifier "iVar10") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar8 + 0x18)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar8 + 0x18)" (* "*") (cast_expression "(int *)(iVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "puVar6[2] = *(undefined4 *)(iVar10 + 0x44);" (assignment_expression "puVar6[2] = *(undefined4 *)(iVar10 + 0x44)" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x44)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x44)" (( "(") (binary_expression "iVar10 + 0x44" (identifier "iVar10") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "puVar6[1] = uVar4;" (assignment_expression "puVar6[1] = uVar4" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x48);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x48)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x48)" (( "(") (binary_expression "iVar10 + 0x48" (identifier "iVar10") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);" (assignment_expression "puVar6[3] = *(undefined4 *)(iVar10 + 0x4c)" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x4c)" (( "(") (binary_expression "iVar10 + 0x4c" (identifier "iVar10") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "puVar6[2] = uVar4;" (assignment_expression "puVar6[2] = uVar4" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x50);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x50)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x50)" (( "(") (binary_expression "iVar10 + 0x50" (identifier "iVar10") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "puVar6[4] = *(undefined4 *)(iVar10 + 0x54);" (assignment_expression "puVar6[4] = *(undefined4 *)(iVar10 + 0x54)" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x54)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x54)" (( "(") (binary_expression "iVar10 + 0x54" (identifier "iVar10") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "puVar6[3] = uVar4;" (assignment_expression "puVar6[3] = uVar4" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar10 + 0x58);" (assignment_expression "uVar4 = *(undefined4 *)(iVar10 + 0x58)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x58)" (( "(") (binary_expression "iVar10 + 0x58" (identifier "iVar10") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);" (assignment_expression "puVar6[5] = *(undefined4 *)(iVar10 + 0x5c)" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x5c)" (( "(") (binary_expression "iVar10 + 0x5c" (identifier "iVar10") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "puVar6[4] = uVar4;" (assignment_expression "puVar6[4] = uVar4" (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (iVar8 != 0) {\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar4 = *(undefined4 *)(iVar8 + 0x30);\n          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);\n          puVar6[5] = uVar4;\n          return;\n        }" ({ "{") (expression_statement "uVar4 = *(undefined4 *)(iVar8 + 0x30);" (assignment_expression "uVar4 = *(undefined4 *)(iVar8 + 0x30)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar8 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x30)" (( "(") (binary_expression "iVar8 + 0x30" (identifier "iVar8") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "puVar6[6] = *(undefined4 *)(iVar8 + 0x34);" (assignment_expression "puVar6[6] = *(undefined4 *)(iVar8 + 0x34)" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar8 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x34)" (( "(") (binary_expression "iVar8 + 0x34" (identifier "iVar8") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "puVar6[5] = uVar4;" (assignment_expression "puVar6[5] = uVar4" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar6[6] = 0;" (assignment_expression "puVar6[6] = 0" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6[5] = 0;" (assignment_expression "puVar6[5] = 0" (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_000d5cdc();" (call_expression "FUN_000d5cdc()" (identifier "FUN_000d5cdc") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);" (call_expression "(**(code **)(pcVar16 + 0x3ea8b8))\n            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" (parenthesized_expression "(**(code **)(pcVar16 + 0x3ea8b8))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x3ea8b8)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x3ea8b8)" (* "*") (cast_expression "(code **)(pcVar16 + 0x3ea8b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea8b8)" (( "(") (binary_expression "pcVar16 + 0x3ea8b8" (identifier "pcVar16") (+ "+") (number_literal "0x3ea8b8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x3ea104) + 0x3574" (pointer_expression "*(int *)(pcVar16 + 0x3ea104)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea104)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea104)" (( "(") (binary_expression "pcVar16 + 0x3ea104" (identifier "pcVar16") (+ "+") (number_literal "0x3ea104")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar16 + 0x3ea8d8) + -0x3350" (pointer_expression "*(int *)(pcVar16 + 0x3ea8d8)" (* "*") (cast_expression "(int *)(pcVar16 + 0x3ea8d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x3ea8d8)" (( "(") (binary_expression "pcVar16 + 0x3ea8d8" (identifier "pcVar16") (+ "+") (number_literal "0x3ea8d8")) () ")")))) (+ "+") (number_literal "-0x3350")) () ")"))) (; ";")) (return_statement "return;" (return "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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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 (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))) (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))) (return_statement))))) (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: (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: (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: (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: (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)))))))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (return_statement))))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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))))) (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: (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: (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: (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)))))))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (return_statement))))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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))))) (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (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: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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)))))) (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 (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))) (return_statement))))) (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))))))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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))))) (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))) (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: (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: (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)))))))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))))) (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))))

void MASKED(int param_1,int param_2)

{
  char cVar1;
  ushort uVar2;
  char *pcVar3;
  undefined4 uVar4;
  ushort *puVar5;
  undefined4 *puVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  undefined *puVar11;
  char *pcVar12;
  ushort *puVar13;
  uint uVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  
  if (*(int *)(param_1 + 0x20) << 2 < 0) {
    if (*(int *)(param_1 + 0x20) << 1 < 0) {
      uVar7 = *(uint *)(param_1 + 0x14);
      if (*(int *)(param_1 + 0x10) == 0) {
        uVar14 = uVar7 + *(int *)(param_1 + 0x1c);
        if (-1 < *(int *)(param_1 + 0x18)) {
          iVar10 = (uint)(uVar14 < uVar7) + *(int *)(param_1 + 0x18);
          if ((iVar10 <= *(int *)(param_2 + 8)) &&
             ((*(int *)(param_2 + 8) != iVar10 || (uVar14 <= *(uint *)(param_2 + 0xc))))) {
            pcVar3 = (char *)(*(int *)(param_2 + 0x10) + *(int *)(param_1 + 0x1c));
            pcVar12 = pcVar3 + uVar7;
            if (pcVar12 < pcVar3 + 8) {
              return;
            }
            uVar7 = (uint)(byte)pcVar3[1];
            cVar1 = *pcVar3;
            if (7 < uVar7) {
              iVar10 = *(int *)(param_1 + 0xfc);
              do {
                if (cVar1 == '\x01') {
                  iVar8 = *(int *)(iVar10 + 0x18);
                  if (iVar8 == 0) {
                    pcVar3[0x1c] = '\0';
                    pcVar3[0x1d] = '\0';
                    pcVar3[0x1e] = '\0';
                    pcVar3[0x1f] = '\0';
                  }
                  else {
                    uVar14 = *(uint *)(iVar8 + 0x30);
                    *(uint *)(pcVar3 + 0x1c) =
                         (((uVar14 >> 0x10) << 0x18 | (uVar14 >> 0x18) << 0x10) >> 0x10) +
                         ((uVar14 & 0xff) << 8 | uVar14 >> 8 & 0xff) * 0x10000;
                  }
                }
                if (pcVar12 < pcVar3 + uVar7 + 8) {
                  return;
                }
                pcVar3 = pcVar3 + uVar7;
                uVar7 = (uint)(byte)pcVar3[1];
                cVar1 = *pcVar3;
              } while (7 < uVar7);
            }
            uVar4 = (*(code *)PTR_gettext_004c5c30)
                              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d6c60. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)PTR_gold_error_004c1a2c)(uVar4,*(undefined4 *)(param_1 + 0x24),uVar7);
            return;
          }
        }
        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;
  puVar11 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574;
  puVar15 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(puVar11,0xe3,PTR_s__s_004c1a50 + -0x3a3c);
  if (*(int *)(puVar11 + 0x20) << 2 < 0) {
    if (*(int *)(puVar11 + 0x20) << 1 < 0) {
      if (-1 < *(int *)(puVar11 + 0x18)) {
        uVar7 = *(uint *)(puVar11 + 0x14) + *(int *)(puVar11 + 0x1c);
        iVar8 = (uint)(uVar7 < *(uint *)(puVar11 + 0x14)) + *(int *)(puVar11 + 0x18);
        if ((iVar8 <= *(int *)(iVar10 + 8)) &&
           ((*(int *)(iVar10 + 8) != iVar8 || (uVar7 <= *(uint *)(iVar10 + 0xc))))) {
          puVar13 = *(ushort **)(puVar11 + 0x30);
          uVar2 = *puVar13;
          puVar5 = (ushort *)(*(int *)(iVar10 + 0x10) + *(int *)(puVar11 + 0x1c));
          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);
          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 3);
          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 4);
          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 5);
          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 6);
          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(puVar11 + 0x30) + 7);
          iVar10 = *(int *)(puVar11 + 0x30);
          uVar7 = *(uint *)(iVar10 + 8);
          *(uint *)(puVar5 + 4) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0xc);
          *(uint *)(puVar5 + 6) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x10);
          *(uint *)(puVar5 + 8) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x14);
          *(uint *)(puVar5 + 10) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(puVar15 + 0x3ead54))
              (*(int *)(puVar15 + 0x3ea5a0) + 0x3574,0xcf,*(int *)(puVar15 + 0x3ead74) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar16 = *(code **)(puVar15 + 0x3ead54);
  iVar10 = *(int *)(puVar15 + 0x3ea5a0) + 0x3574;
  (*pcVar16)(iVar10,0xe3,*(int *)(puVar15 + 0x3ead74) + -0x3a3c);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    if (*(int *)(iVar10 + 0x20) << 1 < 0) {
      if (-1 < *(int *)(iVar10 + 0x18)) {
        uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
        iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);
        if ((iVar9 <= *(int *)(iVar8 + 8)) &&
           ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
          puVar13 = *(ushort **)(iVar10 + 0x30);
          uVar2 = *puVar13;
          puVar5 = (ushort *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
          *puVar5 = (ushort)((uVar2 & 0xff) << 8) | uVar2 >> 8;
          *(undefined1 *)(puVar5 + 1) = *(undefined1 *)(puVar13 + 1);
          *(undefined1 *)((int)puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 3);
          *(undefined1 *)(puVar5 + 2) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 4);
          *(undefined1 *)((int)puVar5 + 5) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 5);
          *(undefined1 *)(puVar5 + 3) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 6);
          *(undefined1 *)((int)puVar5 + 7) = *(undefined1 *)(*(int *)(iVar10 + 0x30) + 7);
          iVar10 = *(int *)(iVar10 + 0x30);
          uVar7 = *(uint *)(iVar10 + 8);
          *(uint *)(puVar5 + 4) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0xc);
          *(uint *)(puVar5 + 6) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x10);
          *(uint *)(puVar5 + 8) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          uVar7 = *(uint *)(iVar10 + 0x14);
          *(uint *)(puVar5 + 10) =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
          return;
        }
      }
      FUN_000d5cdc();
    }
    (**(code **)(pcVar16 + 0x3eabf0))
              (*(int *)(pcVar16 + 0x3ea43c) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3eac10) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar17 = *(code **)(pcVar16 + 0x3eabf0);
  iVar10 = *(int *)(pcVar16 + 0x3ea43c) + 0x3574;
  (*pcVar17)(iVar10,0xe3,*(int *)(pcVar16 + 0x3eac10) + -0x3a3c);
  if (*(int *)(iVar10 + 0x20) << 2 < 0) {
    if (*(int *)(iVar10 + 0x20) << 1 < 0) {
      uVar7 = *(uint *)(iVar10 + 0x14);
      if (*(int *)(iVar10 + 0x10) == 0) {
        uVar14 = uVar7 + *(int *)(iVar10 + 0x1c);
        if (-1 < *(int *)(iVar10 + 0x18)) {
          iVar9 = (uint)(uVar14 < uVar7) + *(int *)(iVar10 + 0x18);
          if ((iVar9 <= *(int *)(iVar8 + 8)) &&
             ((*(int *)(iVar8 + 8) != iVar9 || (uVar14 <= *(uint *)(iVar8 + 0xc))))) {
            pcVar3 = (char *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
            pcVar12 = pcVar3 + uVar7;
            if (pcVar12 < pcVar3 + 8) {
              return;
            }
            uVar7 = (uint)(byte)pcVar3[1];
            cVar1 = *pcVar3;
            if (7 < uVar7) {
              iVar8 = *(int *)(iVar10 + 0xfc);
              do {
                if (cVar1 == '\x01') {
                  iVar9 = *(int *)(iVar8 + 0x18);
                  if (iVar9 == 0) {
                    pcVar3[0x24] = '\0';
                    pcVar3[0x25] = '\0';
                    pcVar3[0x26] = '\0';
                    pcVar3[0x27] = '\0';
                    pcVar3[0x20] = '\0';
                    pcVar3[0x21] = '\0';
                    pcVar3[0x22] = '\0';
                    pcVar3[0x23] = '\0';
                  }
                  else {
                    uVar4 = *(undefined4 *)(iVar9 + 0x30);
                    *(undefined4 *)(pcVar3 + 0x24) = *(undefined4 *)(iVar9 + 0x34);
                    *(undefined4 *)(pcVar3 + 0x20) = uVar4;
                  }
                }
                if (pcVar12 < pcVar3 + uVar7 + 8) {
                  return;
                }
                pcVar3 = pcVar3 + uVar7;
                uVar7 = (uint)(byte)pcVar3[1];
                cVar1 = *pcVar3;
              } while (7 < uVar7);
            }
            uVar4 = (**(code **)(pcVar17 + 0x3eec8c))(*(int *)(pcVar17 + 0x3ea2d8) + 0x3888);
                    /* WARNING: Could not recover jumptable at 0x000d70fc. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (**(code **)(pcVar17 + 0x3eaa88))(uVar4,*(undefined4 *)(iVar10 + 0x24),uVar7);
            return;
          }
        }
        FUN_000d5cdc();
      }
      (**(code **)(pcVar17 + 0x3eaa8c))
                (*(int *)(pcVar17 + 0x3ea2d8) + 0x4584,0xc0,*(int *)(pcVar17 + 0x3eaaac) + -0x3a9c);
    }
    (**(code **)(pcVar17 + 0x3eaa8c))
              (*(int *)(pcVar17 + 0x3ea2d8) + 0x3574,0xcf,*(int *)(pcVar17 + 0x3eaaac) + -0x3350);
  }
  iVar8 = 0xe3;
  pcVar16 = *(code **)(pcVar17 + 0x3eaa8c);
  iVar10 = *(int *)(pcVar17 + 0x3ea2d8) + 0x3574;
  (*pcVar16)(iVar10,0xe3,*(int *)(pcVar17 + 0x3eaaac) + -0x3a3c);
  if (-1 < *(int *)(iVar10 + 0x20) << 2) {
    (**(code **)(pcVar16 + 0x3ea8b8))
              (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xe3,*(int *)(pcVar16 + 0x3ea8d8) + -0x3a3c);
    return;
  }
  if (*(int *)(iVar10 + 0x20) << 1 < 0) {
    if (-1 < *(int *)(iVar10 + 0x18)) {
      uVar7 = *(uint *)(iVar10 + 0x14) + *(int *)(iVar10 + 0x1c);
      iVar9 = (uint)(uVar7 < *(uint *)(iVar10 + 0x14)) + *(int *)(iVar10 + 0x18);
      if ((iVar9 <= *(int *)(iVar8 + 8)) &&
         ((*(int *)(iVar8 + 8) != iVar9 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
        uVar4 = *(undefined4 *)(iVar10 + 0x38);
        puVar6 = (undefined4 *)(*(int *)(iVar8 + 0x10) + *(int *)(iVar10 + 0x1c));
        iVar8 = *(int *)(iVar10 + 0x30);
        puVar6[1] = *(undefined4 *)(iVar10 + 0x3c);
        *puVar6 = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x40);
        iVar8 = *(int *)(iVar8 + 0x18);
        puVar6[2] = *(undefined4 *)(iVar10 + 0x44);
        puVar6[1] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x48);
        puVar6[3] = *(undefined4 *)(iVar10 + 0x4c);
        puVar6[2] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x50);
        puVar6[4] = *(undefined4 *)(iVar10 + 0x54);
        puVar6[3] = uVar4;
        uVar4 = *(undefined4 *)(iVar10 + 0x58);
        puVar6[5] = *(undefined4 *)(iVar10 + 0x5c);
        puVar6[4] = uVar4;
        if (iVar8 != 0) {
          uVar4 = *(undefined4 *)(iVar8 + 0x30);
          puVar6[6] = *(undefined4 *)(iVar8 + 0x34);
          puVar6[5] = uVar4;
          return;
        }
        puVar6[6] = 0;
        puVar6[5] = 0;
        return;
      }
    }
    FUN_000d5cdc();
  }
  (**(code **)(pcVar16 + 0x3ea8b8))
            (*(int *)(pcVar16 + 0x3ea104) + 0x3574,0xcf,*(int *)(pcVar16 + 0x3ea8d8) + -0x3350);
  return;
}

